辞書はループ処理がいくつかありますよね.
- キーだけを表示するループ処理
- バリューだけを表示するループ処理
- キーとバリューの両方を表示するループ処理など
1つの書き方だけでなくいろんな書き方ができるのでちょっと混乱しますよね.
今回は辞書のループ処理について紹介します.
サンプルデータ
辞書データを用意しました.
このデータを使ってループ処理を試してみましょう.
training = {
1: 'ベンチプレス',
2: 'デットリフト',
3: 'スクワット'
}
(これは筋トレビッグ3ですね.極めたい!)
① .keys()を使ってキーを表示する
辞書の後にkeys()
を使うとキーだけループできます.
# キーだけを表示する
for key in training.keys():
print(key)
② .keys()を使わずにキーを表示する
keys()
は省略が可能です.必ずしも明示的にkeys()
を指定する必要はありません.
# キーだけを表示する
for key in training:
print(key)
① .values()を使ってバリューを表示する
辞書の後ろにvalues()
を付けるとバリューだけ表示できます.
# バリューだけを表示する
for value in training.values():
print(value)
values()
は省略できません.
省略するとキーが表示されるのでバリューを取得したいときは必ずvalues()
を付けましょう.
① キーとバリューの両方を表示する
キーとバリューどちらも表示させたいときitems()
を使います.
# キーとバリューどちらも表示する
for key, value in training.items():
print(key, value)
items()
も省略できないので必ず付けてあげましょう.
まとめ
今回は辞書のループ処理について紹介しました.
辞書のループは主に3つありましたね.
- キーだけを表示する(
keys()
は省略可能) - バリューだけを表示する(
values()
は省略できない) - キーとバリューどちらも表示する(
items()
は省略できない)
基本的にはメソッドは付けたほうが分かりやすいですね.辞書のループ処理はよく使うので覚えてましょう!