根据元素索引对python中的元组列表进行排序

2024-04-25 23:24:13 发布

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

如何根据某个位置的int对元组列表进行排序?(无for循环)

例如,根据每个元组中的第三个元素对l = [(1,5,2),(7,1,4),(1,6,3)]进行排序?你知道吗


Tags: 元素列表for排序int元组
2条回答

可以使用^{}、其键函数和^{}

>>> from operator import itemgetter
>>> l = [(1,5,2),(7,1,4),(1,6,3)]
>>> l.sort(key=itemgetter(2))
>>> l
[(1, 5, 2), (1, 6, 3), (7, 1, 4)]
>>>

您也可以使用lambda function而不是operator.itemgetter

>>> l = [(1,5,2),(7,1,4),(1,6,3)]
>>> l.sort(key=lambda x: x[2])
>>> l
[(1, 5, 2), (1, 6, 3), (7, 1, 4)]
>>>

然而,后者是generally faster。你知道吗

您可以使用^{}内置项指定对列表排序所依据的键:

>>> mylist = sorted([(1,5,2),(7,1,4),(1,6,3)], key = lambda t: t[2])
>>> mylist
[(1, 5, 2), (1, 6, 3), (7, 1, 4)]
>>>

相关问题 更多 >