问题:
python对list排序可以用L.sort(key = )
设置一个参照给key参数,以其为标准进行排序。如果对一个多维序列排序,势必未遇到排序的关键字的值有相等的情况下,想以以第二关键字进行排序,如[(1,3,5),(1,4,3)],假如以[0]为关键字值都为一,当[0]都是1的时候,以[2]为关键字,即得出[(1,4,3),(1,3,5)]。
解决:
l=[(1,4,3),(1,3,5),(1,2,2)] l.sort(key = lambda x: (x[0],x[2])) print(l) #output: #[(1, 2, 2), (1, 4, 3), (1, 3, 5)]
讨论:
以前以为用cmp参数,python3已经禁用cmp,其实给key一个tuple【1】就可以了很简单就可解决,这样sort就以(第一关键字,第二关键字)的顺序进行排序了,如果想加入更多关键字,那就只管往tuple里加就行了。