python - 在 Python 3.7 中按值对 python dict 进行排序
问题描述
我有一个如下的字典:
d = {"string0": 0, "string2": 2, "string1": 1}
我想按 int 值对其进行排序,以便它喜欢:
d = {"string0": 0, "string1": 1, "string2": 2}
我知道我可以借助带有 lambda 函数的内置函数sorted()
指定key
参数对列表进行排序,如下所示:
sorted_d = {k: v for k, v in sorted(d.items(), key=lambda i: i[1])}
但由于某种原因,它似乎不起作用,字典仍然是原始的。
解决方案
您的密钥是1[1]
无效的 Python。你想要i[1]
。这种改变会做到的。
推荐阅读
- eclipse - Eclipse 项目 - 在链接资源中引用构建变量
- powershell - 如何在 PowerShell 中使用 NOT ONLY CONTAINS 操作
- node.js - pdf到nodejs lambda函数中的图像
- ios - Flutter:应用程序标签栏未在 iOS 上显示标签,而相同的代码在 android 上显示标签很好
- python - 如何在 python 中舍入这 2 列?
- c++ - 将数组(类')的成员(类)传递给函数
- jmeter - 为什么 JMeter 没有在非 GUI 模式下保存一些请求统计信息?
- r - 如何为不同国家制作动画人口金字塔
- android - RoomDB - JOIN 查询,其结果是一个数据类型列表,其中一个字段的值是 2 个表字段的乘积
- javascript - 从对象中删除空数组