forループでキーと値を取得
辞書の items()メソッド を使用します。items()メソッド は キーと値 を含む ビューオブジェクト を返します。ループ処理したい辞書 = { キー: 値, キー: 値 }
for key, value in ループ処理したい辞書.items():
print(f'{key}={value}')
- key に キー、value に対応する値が入ります。
- key と value は変数名です。分かりやすい名前に変更できます。
サンプルプログラム
次のサンプルコードは items()メソッド を使用し、dict(辞書)の内容を全て表示しています。# ループ処理したい辞書(dict)
weekDict = {'Monday': '月曜日',
'Tuesday': '火曜日',
'Wednesday': '水曜日',
'Thursday': '木曜日',
'Friday': '金曜日',
'Saturday': '土曜日',
'Sunday': '日曜日'}
# for ループ + items()メソッドでキーと値を取得
for key, value in weekDict.items():
print(f'{key}={value}')

forループでキーを同時に取得
キーのみ取得したい場合、リストのように辞書オブジェクトをそのまま for で使用します。 辞書.keys()メソッド や iter()関数 でも同様のループ処理が可能です。# for
for key in ループ処理したい辞書:
print(key)
# for + keys()メソッド
for key in ループ処理したい辞書.keys():
print(key)
# for + iter()関数
for key in iter(ループ処理したい辞書):
print(key)
- key に キー値 が入ります。
- key は変数名です。分かりやすい名前に変更できます。
サンプルプログラム
次のサンプルコードは for を使用し、dict(辞書)のキーを全て表示しています。# for ループでキーを取得
for key in weekDict:
print(key)

forループで値を取得
辞書の values()メソッド を使用します。 values()メソッド は 値を含む ビューオブジェクト を返します。for value in ループ処理したい辞書.values():
print(value)
- value に 値 が入ります。
- value は変数名です。分かりやすい名前に変更できます。
サンプルプログラム
次のサンプルコードは items()メソッド を使用し、dict(辞書)の値を全て表示しています。# for ループで値を取得
for value in weekDict.values():
print(value)

for で キーと値 が取り出される順番について
Pythonバージョン3.7 から、キーが追加された順 に取得されることが保証されるようになりました。Pythonバージョン3.6 以前では取得順は不定で、同じソースコードでも実行環境などにより変わる可能性があります。Pythonのバージョンを調べるには次の記事を参照してください。for ループの順序を逆転させる
組み込み関数 reversed() を使用します。reversed は 要素を逆順に取り出す イテレータ を返します。 辞書で reversed() 関数を使用するには、Pythonバージョン3.8以降が必要です。# キーと値を取得
for key, value in reversed(weekDict.items()):
print(f'{key}={value}')
# キーのみ取得
for key in reversed(weekDict):
print(key)
# 値のみ取得
for value in reversed(weekDict.values()):
print(value)
組み込み関数 reversed() の詳細は次の記事を参照してください。

for ループでの注意事項
for ループ内で要素の追加や削除を行うとエラーが発生します。次のサンプルコードはループ中に要素を削除しようとしていますが、エラーが発生します。
# ループ中に要素を削除
for key in weekDict:
# RuntimeError: dictionary changed size during iteration
del weekDict[key]

サンプルコードのダウンロード
- サンプルコードの実行には Python3.7 以上のバージョンが必要です。
- サンプルコードのダウンロードや実行によって損害等が発生した場合、理由の如何に関わらず、当方は一切責任を負いません。
ダウンロードリンク
参考資料
検証環境
- Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32
- Microsoft Windows 10 Enterprise Version 22H2 OS Build 19045.2251 Experience: Windows Feature Experience Pack 120.2212.4180.0