对元组列表进行排序

2024-06-06 18:54:22 发布

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

我有一个元组“degree”的列表

[('WA', 2), ('DE', 3), ('DC', 2), ('WI', 4), ('WV', 5), ('FL', 2), ('WY', 6), ('NH', 3), ('NJ', 3), ('NM', 4), ('TX', 4), ('LA', 3), ('NC', 4), ('ND', 3), ('NE', 6), ('TN', 8), ('NY', 5), ('PA', 6), ('RI', 2), ('NV', 5), ('VA', 6), ('CO', 6), ('CA', 3), ('AL', 4), ('AR', 6), ('VT', 3), ('IL', 5), ('GA', 5), ('IN', 4), ('IA', 6), ('MA', 5), ('AZ', 4), ('ID', 6), ('CT', 3), ('ME', 1), ('MD', 5), ('OK', 6), ('OH', 5), ('UT', 5), ('MO', 8), ('MN', 4), ('MI', 3), ('KS', 4), ('MT', 4), ('MS', 4), ('SC', 2), ('KY', 7), ('OR', 4), ('SD', 6)]

我想把元组从最低到最高排序(按数字,而不是按状态),这样它看起来像:

[('ME', 1),....,('MO', 8)]

我试过了,但是不起作用,我怎么能修好它?在

^{pr2}$

Tags: 列表dedcmome元组nmwa
3条回答

试试这个-

sorted(degree, key=lambda (k,v): v)
from operator import itemgetter
sorted(degree, key=itemgetter(1))

您可以尝试使用^{},它将返回一个新的排序列表。我们传递一个可选参数,key。这里,我们使用的是lambda函数。sorted()将其结果基于传递的函数,该函数将计算每个元素。例如,对于第一个元素:

('WA', 2)   # x

函数将返回x[1]。换句话说,2。其他元素也是如此。在

^{pr2}$

相关问题 更多 >