[Python]我如何按asc order / desc命令对列表嵌套元组进行排序?

时间:2016-11-14 19:13:05

标签: python list sorting

首先,我不是英语母语人士。所以我的句子可能是有线的。请理解我!

无论如何,当我做作业时,我必须通过asc / desc命令重新排序与元组嵌套的列表。 我的清单是这样的:

lst=[(a,30),(b,80),(c,180),(d,200),(e,90),(f,1200),(g,120),(h,920),(i,7)]

我希望将该列表设为:

desc_lst=[(f,1200),(h,920),(d,200),(c,180),(g,120),(e,90),(b,80),(a,30),(i,7)]

asc_list=[(i,7),(a,30),(b,80),(e,90),(g,120),(c,180),(d,200),(h,920),(f,1200)].

我该如何排序? 我可以只排序正常列表,例如lst = [1,2,3,4,9,8,5]。但在这种情况下,我无法对这些进行排序,因为列表将元组作为元素。请回答...! ipy祝福你和你的家人!

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效

lst = [('a', 30), ('b', 80), ('c', 180), ('d', 200), ('e', 90), ('f', 1200), ('g', 120), ('h', 920), ('i', 7)]
print(sorted(lst, key=lambda x: x[1], reverse=True))

输出结果为

[('f', 1200), ('h', 920), ('d', 200), ('c', 180), ('g', 120), ('e', 90), ('b', 80), ('a', 30), ('i', 7)]