如何从订购字典中获取所有密钥?

时间:2016-04-17 00:53:57

标签: python key ordereddictionary

UNIQUE

我试图从有序的dict获取所有键,所以我可以迭代它但运行错误后发生: click for pic

3 个答案:

答案 0 :(得分:10)

添加新答案是一个很老的话题。但当我遇到类似的问题并寻找它的解决方案时,我来回答这个问题。

这是一种简单的方法,我们可以在Python 3中排序字典(在Python 3.6之前)。

import collections
d={
    "Apple": 5,
    "Banana": 95,
    "Orange": 2,
    "Mango": 7
}
# sorted the dictionary by value using OrderedDict
od = collections.OrderedDict(sorted(d.items(), key=lambda x:x[1]))
print(od)
# OrderedDict([('Orange', 2), ('Apple', 5), ('Mango', 7), ('Banana', 95)])
sorted_fruit_list = list(od.keys())
print(sorted_fruit_list)
# ['Orange', 'Apple', 'Mango', 'Banana']

UPD。对于Python> = 3.6,你需要这样做 sorted_fruit_list = [i for i in od.keys()]

答案 1 :(得分:4)

在Python中实例化对象的正确方法是这样的:

pomocna = collections.OrderedDict() # notice the parentheses! 

您正在分配对的引用。

答案 2 :(得分:0)

对于那些在他们真正想要的是这里的人来说:

dict_keys = list(my_dict.keys())

How to return dictionary keys as a list in Python?