如何在Python中对元组列表进行排序。例如,我有:
aList = [ ( 'person', 20, 100 ), ( 'cat', 30, 900 ), ( 'dog', 5, 500 ) ]
所以我想用他们得到的第三个值(100,900和500)对元组进行排序:
aList = [ ( 'cat', 30, 900 ), ( 'dog', 5, 500 ), ( 'person', 20, 100 ) ]
当我使用重复问题的答案时,我得到了相同的值:
data = [ ( 'person', 20, 100 ), ( 'cat', 30, 900 ), ( 'dog', 5, 500 ) ]
def sorted_by_second():
sorted(data, key=lambda tup: tup[1])
return data
sorted_by_second()
我得到了:
[('person', 20, 100), ('cat', 30, 900), ('dog', 5, 500)]
答案 0 :(得分:1)
使用第3项作为键进行排序:
aList.sort(key=lambda x: x[1])
答案 1 :(得分:0)
您可以使用python sorted
method,它可以指定key
参数,该参数是将列表中的元素作为输入并返回其值进行排序的函数作为输出(例如lambda
)。
示例:
sorted_list = sorted(aList, key = lambda x : x[2])