Python lambda排序函数如何正确编码?

问题描述 投票:1回答:1

我列出了世界上所有人口众多的国家,例如

Countries = [("argentina", 124854), ("brazil",568854)]

第一个值为string=country,第二个为integer = population

任务是通过排序时使用反向true来按列表的第二个值对列表进行排序,我已经设法按字符串第一个值的国家/地区按字母顺序ASC和DESC进行排序,但是我不知道如何编写代码进行排序按人口从最大到最小的顺序排列?

pop lambda country:country[1]
countries.sort(key=pop, reverse=True)
Countries

此代码无法正常工作。

python python-3.x list sorting reverse
1个回答
1
投票
Countries = [("argentina", 124854), ("brazil",568854)]

print(sorted(Countries, key=lambda k: k[1], reverse=True))

打印:

[('brazil', 568854), ('argentina', 124854)]

或:

print(sorted(Countries, key=lambda k: -k[1]))
© www.soinside.com 2019 - 2024. All rights reserved.