将列表转换为有序元组字典

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

dispositions = list(dispositions.items())

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

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

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

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

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

回答

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

设置dispositionsNone.

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

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

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


以上是将列表转换为有序元组字典的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>