As a beginner of Python I recently get stuck for a problem of sorting a nested list with specific criteria. I have a nested list like this:
nestedList=[['R2D2','1path1','1path2'],
['R3A1','2path1','2path2'],
['R15L2','3path1','3path2']]
I would like this list to be sorted by the first string in each nested list. The result would look like:
nestedList=[['R15L2','3path1','3path2'],
['R3A1','2paht1','2path2'],
['R2D2','1path1','1path2']]
Currently my solution is only use the sort function with reverse parameter:
nestedList.sort(reverse=True)
I am not sure whether this is safe, because I would like it not sort the list also by the second string.
How could I sort it only by the first string? (e.g. 'R15L2', 'R3A1', etc.)
Thanks a lot for your help!
解决方案
You want to sort according to a key (the key is the first element of a list):
nestedList.sort(key=lambda x: x[0])
or
import operator as op
nestedList.sort(key=op.itemgetter(0))