2016-04-17 11 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)) 

私はそれを反復処理することができるように命じた辞書からすべてのキーを取得しようとしていますが、エラーを実行した後に発生します。Pythonでオブジェクトをインスタンス化する click for picオーダードディクショナリからすべてのキーを取得するには?

+0

pomocna( 'helper')は決して初期化されず、キーもありません。 – roadrunner66

答えて

3

正しい方法は、このようなものです:

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'] 
関連する問題