python - 对值也是字典的字典进行排序?
问题描述
如果字典是这样的:
d = {"a": 1, "b": 2, "c": 3}
我想按值排序我使用sorted
如下函数:
sorted_d = sorted(d.items(), key=lambda x: x[1])
如果我想按“数字”对其进行排序,我怎么能对以下字典做同样的事情:
d = {
"a": {"description": "first letter", "number": 1},
"b": {"description": "second letter", "number": 2},
"c": {"description": "third letter", "number": 3}
}
解决方案
x[1]["number"]
在你的 lambda 中使用
n [40]: d
Out[40]:
{'b': {'description': 'second letter', 'number': 2},
'a': {'description': 'first letter', 'number': 1},
'c': {'description': 'third letter', 'number': 3}}
In [41]: sorted(d.items(), key=lambda x:x[1]["number"])
Out[41]:
[('a', {'description': 'first letter', 'number': 1}),
('b', {'description': 'second letter', 'number': 2}),
('c', {'description': 'third letter', 'number': 3})]
推荐阅读
- c++ - 使用当前循环更改位图文件的单色图案
- javascript - 如何在 React 中设置嵌套数组的状态(已编辑)
- javascript - 当鼠标悬停在其上时如何阻止 mouseOver 文本闪烁
- python-3.x - 如何为模型准备测试集形状。使用 keras 和 tensorflow 进行评估?
- sql - 为什么我操作非索引列时查询仍然那么快?
- kubernetes - Istio 缺少指标
- javascript - 如何阻止 JavaScript 生成一个只有 JS 函数调用的 HTML 文件
- c# - C#获取用于调试的api响应
- java - 如何解决方法调用“toString”可能产生“java.lang.NullPointerException”?
- python - 创建没有文件名的 Python 命名空间