d = {'x': 1, 'y': 2, 'z': 3}
for key in d:
print(key, 'corresponds to', d[key])
key
Python は、辞書から を読み取るだけでよいことをどのように認識するのでしょうか?key
は特別なキーワードですか、それとも単なる変数ですか?
ベストアンサー1
key
単なる変数名です。
for key in d:
は、キーと値ではなく、辞書内のキーのみをループします。キーと値の両方をループするには、次のようにします。
Python 3.x の場合:
for key, value in d.items():
Python 2.x の場合:
for key, value in d.iteritems():
自分でテストするには、単語key
を に変更しますpoop
。
Python 3.x では、iteritems()
は単に に置き換えられましたitems()
。これは、 と似ていますが、さらに優れた、辞書に基づくセットのようなビューを返しますiteritems()
。これは、2.7 でも として使用できますviewitems()
。
この操作はitems()
2 と 3 の両方で機能しますが、 2 では辞書のペアのリストが返され(key, value)
、呼び出し後に辞書に加えられた変更は反映されませんitems()
。 3.x で 2.x の動作が必要な場合は、 を呼び出すことができますlist(d.items())
。