首页 > 解决方案 > 将列表转换为有序元组字典

问题描述

我多次使用以下方法从字典的内容生成元组列表:

dispositions = list(dispositions.items())

在这种情况下,键是患者离开急诊室的不同类型的方式,值是这些类型的计数。现在,我想根据每个元组中的第二项对这些数据进行排序,所以我尝试了这个:

dispositions = list(dispositions.items()).sort(key=lambda x: x[1])

令我惊讶的是,当我运行代码时,我发现处置已设置为无。我试着把它分成两部分,如下:

dispositions = list(dispositions.items())
dispositions.sort(key=lambda x: x[1])

这行得通!我得到了排序元组的列表。所以,我已经解决了我的问题,但我想知道为什么第一个选项不起作用,以便我可以成为一个更好的人(更好的程序员是更好的人)。有谁可以帮我离开这里吗?

标签: pythonsortingdictionary

解决方案


list.sort不返回任何东西。所以这:

dispositions = list(dispositions.items()).sort(key=lambda x: x[1])

设置dispositionsNone

sorted另一方面返回一个新列表。所以你会使用:

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

这将设置dispositions为元组的排序列表。


推荐阅读