Python 如何使用元组的两个元素对元组列表进行排序?

Python 如何使用元组的两个元素对元组列表进行排序?,python,list,sorting,tuples,Python,List,Sorting,Tuples,我想按元组中的第一个元素排序,如果某些元组的第一个元素相等,则按第二个元素排序。 例如,我有[(5,1)、(1,2)、(1,1)、(4,3)],我想得到[(1,1)、(1,2)、(4,3)、(5,1)] 我怎样才能用蟒蛇的方式来做呢 d = [(5,1),(1,2),(1,1),(4,3)] print(sorted(d,key=lambda x:(x[0],x[1]))) 如果您想要更好的性能,请使用itemgetter import operator l = [(5,1),(1,2),(1

我想按元组中的第一个元素排序,如果某些元组的第一个元素相等,则按第二个元素排序。 例如,我有
[(5,1)、(1,2)、(1,1)、(4,3)]
,我想得到
[(1,1)、(1,2)、(4,3)、(5,1)]

我怎样才能用蟒蛇的方式来做呢

d = [(5,1),(1,2),(1,1),(4,3)]
print(sorted(d,key=lambda x:(x[0],x[1])))
如果您想要更好的性能,请使用
itemgetter

import operator
l = [(5,1),(1,2),(1,1),(4,3)]
print(sorted(l, key=operator.itemgetter(0,1))

如果希望获得更好的性能,请使用
itemgetter

,实际上不需要指定
键,因为您希望对列表项本身进行排序

import operator
l = [(5,1),(1,2),(1,1),(4,3)]
print(sorted(l, key=operator.itemgetter(0,1))
>>> d = [(5,1),(1,2),(1,1),(4,3)]
>>> sorted(d)
[(1, 1), (1, 2), (4, 3), (5, 1)]

您实际上不需要指定
,因为您希望对列表项本身进行排序

>>> d = [(5,1),(1,2),(1,1),(4,3)]
>>> sorted(d)
[(1, 1), (1, 2), (4, 3), (5, 1)]

记住,Sorted方法将返回一个列表对象。在这种情况下,d仍然未排序

如果要对d进行排序,可以使用

>>>d.sort()

希望它有助于

记住,排序方法将返回一个列表对象。在这种情况下,d仍然未排序

如果要对d进行排序,可以使用

>>>d.sort()

希望有帮助

不需要钥匙。不需要钥匙。可能重复的可能重复的