【问题标题】:How to use a lambda function to sort a dictionary with a nested list?如何使用 lambda 函数对带有嵌套列表的字典进行排序?
【发布时间】:2022-12-03 23:41:35
【问题描述】:

我一直在尝试根据从最大值到最小值对字典进行排序。字典的结构如下:

testing = {"third":[1,89],"first":[5,46],"second":[3,59]}

我遇到的问题是我不完全确定如何根据第二个列出的值对其进行排序,所以我想根据 89、46 和 59 对其进行排序。不是第一个 1,5, 3.

我目前使用的方法是:

print(sorted(testing,key=lambda x:x[1][-1]))

这是对字典进行排序,但不是以我想要的方式进行排序。其中第二个被排序为第一个值。

我确定有办法做到这一点,我只是不确定如何处理这个 lambda 函数。任何指导将不胜感激。

【问题讨论】:

    标签: python function sorting dictionary


    【解决方案1】:

    sorted(testing.items(), key=lambda x: x[1][1])

    输出:

    [('first', [5, 46]), ('second', [3, 59]), ('third', [1, 89])]
    

    【讨论】:

    • 我试过了,它会给出一个字符串索引超出范围的错误。编辑:哎呀。我看错了,我没有看到你在字典上使用了 .items() 。现在可以了,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2021-03-08
    • 2020-04-29
    相关资源
    最近更新 更多