【问题标题】:Python lambda sorted function how to code it properly?Python lambda排序函数如何正确编码?
【发布时间】:2020-06-14 21:49:51
【问题描述】:

我有一份世界上所有国家及其人口的列表,例如

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

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

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

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

此代码未按预期工作。

【问题讨论】:

  • "此代码未按预期工作。"会发生什么?

标签: python python-3.x list sorting reverse


【解决方案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]))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-03
    • 2020-05-22
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多