python - 将列表转换为有序元组字典
问题描述
我多次使用以下方法从字典的内容生成元组列表:
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])
这行得通!我得到了排序元组的列表。所以,我已经解决了我的问题,但我想知道为什么第一个选项不起作用,以便我可以成为一个更好的人(更好的程序员是更好的人)。有谁可以帮我离开这里吗?
解决方案
list.sort
不返回任何东西。所以这:
dispositions = list(dispositions.items()).sort(key=lambda x: x[1])
设置dispositions
为None
。
sorted
另一方面返回一个新列表。所以你会使用:
dispositions = sorted(dispositions.items(), key=lambda x: x[1])
这将设置dispositions
为元组的排序列表。
推荐阅读
- github-actions - 用于显示过期包依赖项数量的 Github 操作
- react-native - 如何使用 react-navigation@3.x 禁用屏幕手势
- python - Python“冻结”Jupyter笔记本中的列表推导
- sql-server - Django 多表查询,排除条件基于一张表中的最大值。使用 SQL Server
- php - 以秒为单位获取时差
- mysql - 急切加载错误调用 Laravel 6 中未定义的方法语法问题
- python - 如何合并两个csv?
- python - 从 ESPN 幻想中抓取数据(表)
- python - 两天内使用 datetime.now() 的 UTC 转换
- android - 如何判断您的 Android 应用程序是否已获得 Google 批准并可以在 Google Play 上首次公开发布