I have a list of lists like [[1,2,"s"],[1,5,"e"],...] where the 3rd value is always either s or e. How can I call sort() such that the list is sorted based on:
- the first index
- if the first index is same,
scomes first.
Thanks
You can pass custom key function to list.sort that is used to generate the comparison key for the items:
>>> l = [[1, 5, 'e'], [1, 2, 's'], [0, 4, 'e']]
>>> l.sort(key=lambda x: (x[0], -ord(x[2])))
>>> l
[[0, 4, 'e'], [1, 2, 's'], [1, 5, 'e']]