You can use the key attribute for list.sort() :
a = ["Wednesday-Morning-Go bowling", "Sunday-Really late at night-Sleep", "July-Noon-BBQ"] a.sort(key=lambda x: x.split("-", 2)[-1]) print a
prints
['July-Noon-BBQ', 'Wednesday-Morning-Go bowling', 'Sunday-Really late at night-Sleep']
Note that calling split() allows more than two dashes. Each dash after the second will be ignored and included in the third part.
source share