PYTHON MEBY

Pythonで辞書をループ処理(for key in dict, for key, value in dict.items())

この記事では、Pythonで辞書のループ処理を行うための2つの主要な方法、`for key in dict` と `for key, value in dict.items()` について解説します。それぞれの方法の使い分けや注意点についても説明します。

目次

for key in dict: 辞書のキーをループ処理する

この方法は、辞書のキーを順番に取得して処理したい場合に便利です。

my_dict = {"apple": 1, "banana": 2, "cherry": 3}
for key in my_dict:
    print(key)

出力結果: apple banana cherry

for key, value in dict.items(): 辞書のキーと値を同時にループ処理する

この方法は、辞書のキーと対応する値を同時に取得して処理したい場合に適しています。`dict.items()` メソッドは、キーと値のタプルを生成するイテレータを返します。

my_dict = {"apple": 1, "banana": 2, "cherry": 3}
for key, value in my_dict.items():
    print(f"{key}: {value}")

出力結果: apple: 1 banana: 2 cherry: 3

ループ処理における注意点

辞書の要素の順番はPython 3.7以降で保証されていますが、古いバージョンでは順番が保証されない場合があります。順番に依存する処理を行う場合は、Python 3.7以降を使用するか、`sorted()`関数などを用いてキーをソートすることを推奨します。

  • 辞書の要素数は`len(dict)`で取得できます。
  • ループ中に辞書の内容を変更する場合は、`copy()`メソッドなどでコピーを作成してから処理することを推奨します。変更中にループ処理がエラーを起こす可能性があります。

実践例

辞書のキーと値を処理する実践例です。ここでは、キーと値をそれぞれ大文字に変換し、新たな辞書を作成します。

my_dict = {"apple": 1, "banana": 2, "cherry": 3}
new_dict = {}
for key, value in my_dict.items():
    new_dict[key.upper()] = str(value).upper()
print(new_dict)

出力結果: {'APPLE': '1', 'BANANA': '2', 'CHERRY': '3'}

関連記事