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

2024-09-30 16:22:43 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我不是以英语为母语的人。所以我的句子可能有关联。请理解我!你知道吗

不管怎样,当我做作业时,我必须按asc/desc顺序对嵌套有tuple的列表重新排序。 我的清单如下:

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]。但在本例中,我无法对这些进行排序,因为列表中有tuple作为元素。请回答。。。!我祝福你和你的家人!你知道吗


Tags: 元素列表排序顺序分类desclist句子
1条回答
网友
1楼 · 发布于 2024-09-30 16:22:43

像这样的东西应该管用

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)]

相关问题 更多 >