我列出了世界上所有人口众多的国家,例如
Countries = [("argentina", 124854), ("brazil",568854)]
第一个值为string=country
,第二个为integer = population
任务是通过排序时使用反向true来按列表的第二个值对列表进行排序,我已经设法按字符串第一个值的国家/地区按字母顺序ASC和DESC进行排序,但是我不知道如何编写代码进行排序按人口从最大到最小的顺序排列?
pop lambda country:country[1]
countries.sort(key=pop, reverse=True)
Countries
此代码无法正常工作。
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]))