【Python】レッスン4-12:辞書のループ処理を理解しよう

ながみえ
【Python学習記事のアイキャッチ画像】Lesson4-12 辞書のループ処理を理解しよう

一つ前のLessonでは辞書の基本について学習しました。

今回は辞書のループ処理について見ていきましょう。

Lesson1:基礎文法編
Lesson2:制御構造編
Lesson3:関数とスコープ編

Lesson4:データ構造編
・Lesson4-1:リストの定義と要素の追加を理解しよう
・Lesson4-2:リストの要素を削除しよう
・Lesson4-3:リストの情報を調べよう
・Lesson4-4:リストの集計・並べ替えを理解しよう
・Lesson4-5:リストのスライスを理解しよう
・Lesson4-6:リストのループ処理を理解しよう
・Lesson4-7:リストの内包表記を理解しよう
・Lesson4-8:リスト・タプル・辞書・集合の概要と違いを理解しよう
・Lesson4-9:タプルの基本を理解しよう
・Lesson4-10:タプルのアンパックを理解しよう
・Lesson4-11:辞書の基本を理解しよう
・Lesson4-12:辞書のループ処理を理解しよう ◁今回はココ
・Lesson4-13:辞書の内包表記を使ってリストから辞書を作ろう
・Lesson4-13:集合(セット)の基本を理解しよう
・練習問題4-1:宝探しゲームを作ろう
・練習問題4-2:ナインゲームを作ろう 
・練習問題4-3:マルバツゲームを作ろう
Lesson5:オブジェクト指向編
次のステップ:Python基礎習得者にお勧めの道5選(実務or副業)

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson4-11 辞書の定義と基本操作を理解しよう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson4-13 辞書の内包表記を理解しよう

辞書を回す基礎と実践|keys()values()items()の使い分け

辞書のループ処理は、for 文でキー・値を取り出して処理するための基本スキルです。

本記事では、keys()values()items() の使い分けを初心者向けにわかりやすく整理します。

まずは基本の回し方から入って、実用パターンへ進みます。

【Python】勉強猫がノートパソコンを前にして学習を始める様子。記事内の学習スタート用イラスト

辞書のループ処理方法|keys,values,itemsの3つのメソッド

Pythonでは辞書のキー、値、またはその両方をループ処理するために、いくつかの便利なメソッドが用意されています。

代表的なメソッドは以下の通りです。

メソッド意味
keys()辞書のすべてのキーを取得します。
これを for ループで使うことで、各キーに対して処理を実行できます。
values()辞書のすべての値を取得します。
値だけに対してループを行いたい場合に使用します。
items()辞書のキーと値のペアを同時に取得できます。
これにより、ループ内でキーと値を同時に操作することが可能です。

辞書のループ処理の実例

次に、具体的なコード例を見てみましょう。

# 辞書を定義
student_scores = {
    "Alice": 85,
    "Bob": 92,
    "Charlie": 78
}

# keys() を使ってキー(名前)だけをループ処理
for name in student_scores.keys():
    print(f"学生の名前: {name}")

# values() を使って値(スコア)だけをループ処理
for score in student_scores.values():
    print(f"スコア: {score}")

# items() を使ってキーと値のペアをループ処理
for name, score in student_scores.items():
    print(f"{name} のスコアは {score} 点です")

このコードでは辞書 student_scores を定義し、それぞれ keys()values()、および items() メソッドを使って異なる方法でループ処理を行っています。

  • keys() では、各学生の名前だけを取得して表示します。
  • values() では、スコアだけを取り出して表示します。
  • items() では、名前とスコアの両方を同時にループして、個別に出力します。

コードの出力結果は以下の通りです。

学生の名前: Alice
学生の名前: Bob
学生の名前: Charlie
スコア: 85
スコア: 92
スコア: 78
Alice のスコアは 85 点です
Bob のスコアは 92 点です
Charlie のスコアは 78 点です

まとめ|keys・values・itemsで、辞書を走査しよう

辞書のループ処理はkeys()values()、および items() などのメソッドを使うことで非常に簡単に行えます。

キー、値、またはその両方を適切に操作する方法を理解しておくことで、より効率的にデータを扱うことが可能になります。

Q
サイト改善アンケート|ご意見をお聞かせください(1分で終わります)

本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、みなさまの「プログラミングを学習する理由」などをアンケート形式でお伺いしています。

1分だけ、ご協力いただけますと幸いです。

【Python】サイト改善アンケート
1.このサイトをどのように活用していますか?また、今後どのように活用したいですか?
5.気になっているサービス・商品があれば教えてください。
(複数選択可)
※ 特定の記事に関する内容の場合は、記事番号(Python Lesson〇-〇)をご記入願います。

練習問題:辞書のループ処理を使ってみよう

この記事で学習した「辞書のループ処理」を復習する練習問題に挑戦しましょう。

【Python】勉強猫がノートパソコンに向かい、練習問題に挑戦する様子。記事内の休憩用イラスト

問題|名前とスコアを一覧表示しよう

学生の名前とスコアを管理する辞書を作成し、辞書のループ処理を学習しましょう。

以下の要件に従ってコードを完成させてください。

  1. 辞書 student_scores を作成し、以下の3人の学生とスコアを登録すること。
    • 山田: 85点
    • 佐藤: 92点
    • 鈴木: 78点
  2. keys() を使用して、辞書に登録されている全ての学生の名前を順に表示すること。
  3. values() を使用して、辞書に登録されている全てのスコアを順に表示すること。
  4. items() とf文字列を使用して、各学生の名前とそのスコアを「〇〇 のスコアは △△ 点です」という形式で表示すること。

ただし、以下のような実行結果となるコードを書くこと。

学生の名前一覧:
山田
佐藤
鈴木

学生のスコア一覧:
85
92
78

学生の名前とスコア:
山田 のスコアは 85 点です
佐藤 のスコアは 92 点です
鈴木 のスコアは 78 点です

解答例|辞書ループの基本プログラム

例えば以下のようなプログラムが考えられます。

Q
正解コード
# 辞書の定義
student_scores = {
    "山田": 85,
    "佐藤": 92,
    "鈴木": 78
}

# keys() を使って辞書のキー(名前)をループ処理
print("学生の名前一覧:")
for name in student_scores.keys():
    print(name)

# values() を使って辞書の値(スコア)をループ処理
print("\n学生のスコア一覧:")
for score in student_scores.values():
    print(score)

# items() を使ってキーと値のペアをループ処理
print("\n学生の名前とスコア:")
for name, score in student_scores.items():
    print(f"{name} のスコアは {score} 点です")
もっと分かりやすい学習サイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいPython学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson4-11 辞書の定義と基本操作を理解しよう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson4-13 辞書の内包表記を理解しよう

辞書のループ処理の疑問解消|FAQと用語のまとめ

初心者がつまずきやすいポイントをFAQとしてまとめ、またよく使う専門用語をわかりやすく整理しました。

理解を深めたいときや、ふと疑問に感じたときに役立ててください。

FAQ|辞書のループ処理に関するよくある質問

Q
Q1. items()とkeys()の違いは何ですか?

items()はキーと値のペアを返すのに対し、keys()はキーのみを返します。両者の使い分けで処理の柔軟性が広がります。

Q
Q2. 辞書のループは順序が保証されていますか?

Python 3.7以降では、辞書のキーの順序は挿入順に維持されます。順序を前提とした処理も可能です。

Q
Q3. 辞書をループで編集するときの注意点は?

辞書を直接編集しながらループすると、予期せぬ動作の原因になります。一度コピーを作るか、削除対象を別に記録しましょう。

Python用語集|辞書のループ処理に関する用語一覧

今回の記事で出てきた用語・関数などを一覧で紹介します。

このサイトに出てくる 全てのPython用語をまとめた用語集 も活用してください。

Python用語定義・使い方の概要解説記事へのリンク
辞書複数のキーと値のペアを格納できるデータ構造。キーを使って高速に値へアクセスできるLesson4-11
keys() メソッド辞書内のすべてのキーを取り出すビューオブジェクトを返すメソッド本記事
values() メソッド辞書内のすべての値を取り出すビューオブジェクトを返すメソッド本記事
items() メソッド辞書内のすべてのキーと値のペアをタプルとして返すビューオブジェクトを返すメソッド本記事
記事URLをコピーしました