2016-09-18 17 views

答えて

0

あなたがループの中に非常に多くの書類を持っている理由私はわからないので、私は簡単な例与えている:私は前に空の辞書であることをdictのをどう定義するか、注意してください

list_color=['Red','Blue','Green'] 
dict={} 
for i ,b in enumerate(list_color,1): 
    dict[b] = i 

print(dict) 

をループ。私が変更したもう一つのことは、値を辞書に割り当てる方法です。それぞれの割り当てで辞書の完全な内容を上書きしていました。辞書に値を追加する方法を示しています。

http://www.pythontutor.com/visualize.htmlのようなコードの実行を視覚化できるサイトをお勧めします。それであなたは、あなたの期待通りに、何が起こっているのか、間違っているのかを知ることができます。

+0

も組み込みの名前を使用していません... – Copperfield

2

あなたは、ディクティブを更新するのではなく、名前dictに新しい値を再割り当てするよう通訳者に指示しました。別の反復可能な、内包に基づいてオブジェクトを作成するための

dict = {b:i} # we talk about this line 

は、この場合には、辞書の理解行くための一般的な方法です:辞書は順不同データであるため、

colors = ['Red','Blue','Green'] 
d = {color: idx for idx, color in enumerate(colors, 1)} 
# {'Blue': 2, 'Green': 3, 'Red': 1} 

注文は、保持されません構造。

また、dictという名前が使用されている場合は、dict builtin functionをシャドーイングしてオブジェクトに名前を付けないようにしてください。

関連する問題