2016-04-17 5 views
4
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Как получить все ключи от Упорядоченного словаря?

+0

pomocna ('helper') никогда не инициализируется и не имеет ключей. – roadrunner66

ответ

3

Правильный способ создания экземпляра объекта в Python, как это:

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

Вы назначили ссылку на класс .

3

Это довольно старая тема, чтобы добавить новый ответ. Но когда я столкнулся с подобной проблемой и искал ее решение, я пришел ответить на это.

Вот простой способ, мы можем сортировать словарь в 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'] 
Смежные вопросы