如何根据内部列表的特定索引对列表列表进行排序?

2024-04-20 01:11:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张单子。例如

[
[0,1,'f'],
[4,2,'t'],
[9,4,'afsd']
]

如果我想根据内部列表的字符串字段对外部列表进行排序,那么在python中如何做到这一点?


Tags: 字符串列表排序单子afsd
3条回答

Itemgetter允许您按多个条件/列进行排序:

sorted_list = sorted(list_to_sort, key=itemgetter(2,0,1))

到位

>>> l = [[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']]
>>> l.sort(key=lambda x: x[2])

使用排序不到位:

>>> sorted(l, key=lambda x: x[2])

这是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函数比较慢

相关问题 更多 >