我有一份清单。例如,
[
[0,1,'f'],
[4,2,'t'],
[9,4,'afsd']
]
如果我想按内部列表的字符串字段对外部列表进行排序,那么在python中该如何做呢?
发布于 2010-11-14 05:59:49
这是itemgetter的工作
>>> from operator import itemgetter
>>> L=[[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']]
>>> sorted(L, key=itemgetter(2))
[[9, 4, 'afsd'], [0, 1, 'f'], [4, 2, 't']]
在这里也可以使用lambda函数,但是lambda函数在这种简单的情况下会慢一些
发布于 2010-11-14 06:00:08
就位
>>> l = [[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']]
>>> l.sort(key=lambda x: x[2])
未使用排序的位置:
>>> sorted(l, key=lambda x: x[2])
发布于 2013-03-21 18:25:14
Itemgetter允许您按多个条件/列进行排序:
sorted_list = sorted(list_to_sort, key=itemgetter(2,0,1))
https://stackoverflow.com/questions/4174941
复制相似问题