python如何按2个值对列表排序

2024-09-29 03:32:16 发布

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

如果我有名单

listOfFiles = [<str>,<intA>,<intB>]

如何先按intA排序,然后按intB排序?在

最终的结果是

^{pr2}$

Tags: 排序名单strpr2listoffilesintaintb
3条回答

使用复合键(或者更确切地说,序列作为键)。在

listOfFiles.sort(key=operator.itemgetter(1, 2))

这也适用于:

listOfFiles.sort(key=lambda x: (x[1], x[2]))

Python列表排序已经完成,并且保证在2.4之后是稳定的(我相信,可能是2.5)。这意味着您可以这样排序,并应得到您想要的结果:

listOfFiles.sort(key = lambda x: x[2])

listOfFiles.sort(key = lambda x: x[1])

我想你实际上有一个列表列表,或者元组列表。如果没有,请提供一个更完整的数据结构示例。在

相关问题 更多 >