如何按给定索引处的元素对列表/元组的列表/元组进行排序

901

我有一些数据,可以是列表的列表或元组的列表,就像这样:

data = [[1,2,3], [4,5,6], [7,8,9]]
data = [(1,2,3), (4,5,6), (7,8,9)]

我想按子集中的第二个元素进行排序。也就是说,按2、5、8排序,其中2来自(1,2,3)5来自(4,5,6)。做到这一点的常见方法是什么?我应该在列表中存储元组还是列表?


80
关于“我应该在我的列表中存储元组还是列表?”的问题,一个经验法则是尽可能使事物不可变。如果你不需要就地修改子列表,请将它们创建为元组。 - Matthew Flaschen
11个回答

-4

对元组进行排序非常简单:

tuple(sorted(t))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接