list_color=['Red','Blue','Green']
for i ,b in enumerate(list_color,1):
if i<=2:
dict ={b:i}
else:
break
i+=1
print(dict)
出力:私は、出力は次のようになりたい{ 'レッド':1、 'ブルー':2、 'グリーン':3}:
.I'mのみ{3 'グリーン'}取得{'Green':3}
list_color=['Red','Blue','Green']
for i ,b in enumerate(list_color,1):
if i<=2:
dict ={b:i}
else:
break
i+=1
print(dict)
出力:私は、出力は次のようになりたい{ 'レッド':1、 'ブルー':2、 'グリーン':3}:
.I'mのみ{3 'グリーン'}取得{'Green':3}
あなたがループの中に非常に多くの書類を持っている理由私はわからないので、私は簡単な例与えている:私は前に空の辞書であることを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のようなコードの実行を視覚化できるサイトをお勧めします。それであなたは、あなたの期待通りに、何が起こっているのか、間違っているのかを知ることができます。
あなたは、ディクティブを更新するのではなく、名前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をシャドーイングしてオブジェクトに名前を付けないようにしてください。
も組み込みの名前を使用していません... – Copperfield