【发布时间】:2019-06-21 17:56:23
【问题描述】:
我正在尝试使用字典键按升序对列表进行排序。
您可以假设每个字典级别只有一个键。
输入:
res = [{'hi': {'abc': 5}}, {'bye': {'def': 5}}, {'hi': {'cba': 5}}]
我的代码:
def getitem (item):
return (item.keys())
print (sorted(res, key = getitem))
所需输出:
[{'bye': {'def': 5}}, {'hi': {'abc': 5}}, {'hi': {'cba': 5}}]
【问题讨论】:
-
你的字典总是一个键吗?在这种情况下,为什么要使用字典呢?
dict.keys对象的比较运算符用于 subset 关系 -
抱歉,我已经更新了示例,字典中可能只有一个键,但可以有多个具有相同键的对象,如果对象键相同 (" hi”在上面的例子中),那么我想按它的嵌套键(“cba”之前的“abc”)对其进行排序。
-
您应该只使用元组,为什么要使用嵌套字典?元组会按照您的要求自然排序,并且内存效率更高
-
我正在从流数据源中一一接收这些字典对象。
-
...那么有什么东西阻止您将它们转换为更理智/有用的数据结构吗?
标签: python python-3.x sorting dictionary