かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Python3 辞書のループ

他の言語ではハッシュとか連想配列と呼ばれているようなキーと値が対になったデータ構造をPythonでは辞書(dictionary)と呼ぶらしいです。(厳密にはもっと違いがあるのかもしれません)

辞書をfor inでループ

dict = {'name': 'Aki', 'age': 16, 'role': 'gunner'}
for i in dict:
  print(i, end=', ')
# => name, age, role,

for inで辞書を回すとループ内ではキーが取得される
↓下記のようにdict.keys()でループさせるのと同じっぽい

dict = {'name': 'Aki', 'age': 16, 'role': 'gunner'}
for key in dict.keys():
  print(f'key:{key} value:{dict[key]}', end=', ')
# => key:name value:Aki, key:age value:16, key:role value:gunner,

辞書の値(value)でループ

dict.values()を使う

dict = {'name': 'Aki', 'age': 16, 'role': 'gunner'}
for val in dict.values():
  print(val, end=', ')
# => Aki, 16, gunner,

キー(key)と値(value)両方でループ

dict.items()を使う

for key, val in dict.items():
  print(f'key:{key} value:{val}', end=', ')
# => key:name value:Aki, key:age value:16, key:role value:gunner,

 
辞書をループ処理する時はとりあえずdict.items()を使うのが良さそうかなと思いました。


[参考]