【发布时间】:2021-09-25 06:39:46
【问题描述】:
假设我有这个嵌套字典:
people = {
Kamara: {'sex': 'Male', 'alias': 'John', 'age': '27'},
Alison: {'age': '21', 'alias': 'Marie', 'sex': 'Female'},
Oliver: {'alias': 'Marie', 'age': '25', 'sex': 'Female'}
}
我想按字母顺序对所有内容进行排序。我的意思不仅是主键,还有子键,而不使用 OrderedDict 库。最终的结果应该是这样的:
people = {
Alison: {'age': '21', 'alias': 'Marie', 'sex': 'Female'},
Kamara: {'age': '27', 'alias': 'John', 'sex': 'Male'},
Oliver: {'age': '25', 'alias': 'Marie', 'sex': 'Female'}
}
这就是我所拥有的:
people = {key: dict(sorted(val.items(), key=lambda ele: ele[1])) for key, val in people.items()}
但我收到此错误:
'str' object has no attribute 'items'
【问题讨论】:
-
名称需要用引号引起来
-
如果下面的cmets之一给了你想要的结果,那么请将其标记为答案
标签: python python-3.x sorting dictionary nested