「for」ループを使用して辞書を反復処理する 質問する

「for」ループを使用して辞書を反復処理する 質問する
d = {'x': 1, 'y': 2, 'z': 3}

for key in d:
    print(key, 'corresponds to', d[key])

keyPython は、辞書から を読み取るだけでよいことをどのように認識するのでしょうか?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())

おすすめ記事