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()
希望有帮助不需要钥匙。不需要钥匙。可能重复的可能重复的