在Python中按元素值对元组进行排序

时间:2015-04-15 17:08:32

标签: python list sorting tuples

我需要通过特定的元组元素在Python中对元组列表进行排序,让我们说它是这种情况下的第二个元素。我试过了

sorted(tupList, key = lambda tup: tup[1])

我也试过

sorted(tupList, key = itemgetter(1))
'''i imported itemgetter, attrgetter, methodcaller from operator'''

但两次都返回了相同的列表。我查了一下

sorting tuples in python with a custom key

sort tuples in lists in python

https://wiki.python.org/moin/HowTo/Sorting

1 个答案:

答案 0 :(得分:1)

我猜你在调用sorted,但没有在任何地方分配结果。类似的东西:

tupList = [(2,16), (4, 42), (3, 23)]
sorted(tupList, key = lambda tup: tup[1])
print(tupList)

sorted创建一个新的排序列表,而不是修改原始列表。尝试:

tupList = [(2,16), (4, 42), (3, 23)]
tupList = sorted(tupList, key = lambda tup: tup[1])
print(tupList)

或者:

tupList = [(2,16), (4, 42), (3, 23)]
tupList.sort(key = lambda tup: tup[1])
print(tupList)
相关问题