如何从 Ordered Dictionary 中获取所有键?
How to get all keys from Ordered Dictionary?
def izracunaj_dohvatljiva_stanja(funkcije_prijelaza):
dohvatljiva = []
dohvatljiva.extend(pocetno_stanje)
pomocna = collections.OrderedDict
for i in xrange(len(dohvatljiva)):
for temp in pomocna.keys(): <-----------------------------------this line
if temp.split(',')[0] == dohvatljiva[i]:
if funkcije_prijelaza.get(temp) not in dohvatljiva:
dohvatljiva.extend(funkcije_prijelaza.get(temp))
我正在尝试从有序字典中获取所有键,以便我可以对其进行迭代,但是在 运行 之后发生错误:
click for pic
在Python中实例化一个对象的正确方法是这样的:
pomocna = collections.OrderedDict() # notice the parentheses!
您正在分配对 class 的引用。
添加新答案已经很老了。但是当我遇到类似的问题并搜索它的解决方案时,我来回答这个问题。
这里有一个简单的方法,我们可以在 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)
sorted_fruit_list = list(od.keys())
print(sorted_fruit_list)
输出:
OrderedDict([('Orange', 2), ('Apple', 5), ('Mango', 7), ('Banana', 95)])
['Orange', 'Apple', 'Mango', 'Banana']
更新:
从 Python 3.6 及更高版本开始,我们可以根据字典的值对字典进行排序。
d={
"Apple": 5,
"Banana": 95,
"Orange": 2,
"Mango": 7
}
sorted_data = {item[0]:item[1] for item in sorted(d.items(), key=lambda x: x[1])}
print(sorted_data)
sorted_fruit_list = list(sorted_data.keys())
print(sorted_fruit_list)
输出:
{'Orange': 2, 'Apple': 5, 'Mango': 7, 'Banana': 95}
['Orange', 'Apple', 'Mango', 'Banana']
对于来到这里的任何人来说,他们真正想要的是:
dict_keys = list(my_dict.keys())
How to return dictionary keys as a list in Python?
def izracunaj_dohvatljiva_stanja(funkcije_prijelaza):
dohvatljiva = []
dohvatljiva.extend(pocetno_stanje)
pomocna = collections.OrderedDict
for i in xrange(len(dohvatljiva)):
for temp in pomocna.keys(): <-----------------------------------this line
if temp.split(',')[0] == dohvatljiva[i]:
if funkcije_prijelaza.get(temp) not in dohvatljiva:
dohvatljiva.extend(funkcije_prijelaza.get(temp))
我正在尝试从有序字典中获取所有键,以便我可以对其进行迭代,但是在 运行 之后发生错误: click for pic
在Python中实例化一个对象的正确方法是这样的:
pomocna = collections.OrderedDict() # notice the parentheses!
您正在分配对 class 的引用。
添加新答案已经很老了。但是当我遇到类似的问题并搜索它的解决方案时,我来回答这个问题。
这里有一个简单的方法,我们可以在 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)
sorted_fruit_list = list(od.keys())
print(sorted_fruit_list)
输出:
OrderedDict([('Orange', 2), ('Apple', 5), ('Mango', 7), ('Banana', 95)])
['Orange', 'Apple', 'Mango', 'Banana']
更新:
从 Python 3.6 及更高版本开始,我们可以根据字典的值对字典进行排序。
d={
"Apple": 5,
"Banana": 95,
"Orange": 2,
"Mango": 7
}
sorted_data = {item[0]:item[1] for item in sorted(d.items(), key=lambda x: x[1])}
print(sorted_data)
sorted_fruit_list = list(sorted_data.keys())
print(sorted_fruit_list)
输出:
{'Orange': 2, 'Apple': 5, 'Mango': 7, 'Banana': 95}
['Orange', 'Apple', 'Mango', 'Banana']
对于来到这里的任何人来说,他们真正想要的是:
dict_keys = list(my_dict.keys())
How to return dictionary keys as a list in Python?