所以,我想做的是对包含 (num, tuple)
的列表进行排序,我想首先按元组的第二个值对其进行排序,并且如果 2 相等,我想按num(第一个元组)
对其进行排序。
所以可以说我有:
l = [(1,(2,3)),(3,(2,1)),(2,(2,1))]
print(l.sort(key=something))
[(2,(2,1)), (3,(2,1)), (1,(2,3))]
我已经尝试过:
l.sort(key=itemgetter(1,0)
当然没用。有什么想法吗?
谢谢。
最佳答案
operator.itemgetter
工作正常:
>>> from operator import itemgetter
>>> l = [(1,(2,3)),(3,(2,1)),(2,(2,1))]
>>> l.sort(key=itemgetter(1,0))
>>> print(l)
[(2, (2, 1)), (3, (2, 1)), (1, (2, 3))]
>>>
我认为问题是您尝试打印 list.sort
的结果。您不能执行此操作,因为它是就地方法(它始终返回 None
)。
关于python - 对嵌套元组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20923955/