Pythonで辞書をループ処理する方法!for文とitems()の活用法を解説
生徒
「Pythonの辞書に入ってるデータを、ひとつずつ取り出して表示するにはどうすればいいですか?」
先生
「それならfor文とitems()メソッドの組み合わせがとっても便利!辞書をループ処理して、中のデータをひとつずつ取り出す方法をやさしく説明するよ!」
1. 辞書とは?ループする前に基本を確認
Pythonの辞書(dictionary)は、キー(名前)と値(データ)のセットで情報を保存するデータ型です。
menu = {
"ラーメン": 700,
"うどん": 500,
"カレー": 600
}
このように、メニューの名前がキー、値段が値として保存されています。
2. for文で辞書のキーだけをループする
まずはfor文を使って、辞書のキーだけをループして表示してみましょう。
for item in menu:
print(item)
ラーメン
うどん
カレー
辞書にforを使うと、デフォルトではキーだけが取り出されます。
3. 値も取り出したい!→ menu[item]
キーだけでなく、対応する値(値段)も一緒に取り出したいときは、こうします:
for item in menu:
print(item, "の値段は", menu[item], "円です")
ラーメン の値段は 700 円です
うどん の値段は 500 円です
カレー の値段は 600 円です
この方法でもいいですが、よりスマートなのが次のitems()メソッドです!
4. items()でキーと値を同時に取り出す
items()メソッドを使うと、キーと値をペアで取り出すことができます。
for item, price in menu.items():
print(f"{item}は{price}円です")
ラーメンは700円です
うどんは500円です
カレーは600円です
itemとpriceにそれぞれキーと値が自動で入るから、とても読みやすくて便利です。
5. items()ってどんなデータ?
menu.items()は、「(キー, 値)」のセットをたくさん持ったデータです。
専門用語でいうと「タプルのリスト」のようなものです。でも難しく考えず、「まとめて取り出せる仕組み」と覚えればOK!
6. 応用編:条件をつけて出力する
ループ処理と条件分岐を組み合わせると、特定のデータだけを選んで出力できます。
for item, price in menu.items():
if price > 600:
print(f"{item}は高級メニューです")
ラーメンは高級メニューです
このように、値を使って条件をつけることも自由にできます。
7. 実生活に例えると?
辞書は「ラベル付きの箱」と考えるとわかりやすいです。
箱の名前(キー)に対して、その中に何が入っているか(値)をセットで保存します。
そしてfor item, price in menu.items()は「すべての箱の名前と中身を順番に取り出して見る」作業です。
8. キーや値だけをループしたいときは?
keys()やvalues()を使えば、キーまたは値だけのループも可能です。
キーだけループ
for key in menu.keys():
print(key)
値だけループ
for value in menu.values():
print(value)
まとめ
Pythonの辞書をループ処理する流れを整理しよう
今回の記事では、Pythonの辞書をfor文でループ処理して、キーや値をひとつずつ取り出す方法を学びました。辞書は、キーと値をセットで保存できる便利なデータ型ですが、実際に使いこなすためには「中に入っているデータを順番に処理する」考え方が欠かせません。メニュー表や商品一覧、名前と点数、設定項目と値など、現実のデータ管理に近い形で扱えるのが辞書の強みです。
辞書に対してfor文を使うと、まず基本としてキーが順番に取り出されます。これは初心者が最初に覚えやすいポイントですが、値も一緒に扱いたい場合は、キーから値を取り出す書き方や、itemsを使った書き方を理解する必要があります。辞書ループの基本を押さえるだけで、表示処理や集計処理、条件分岐による絞り込みなど、できることが一気に増えていきます。
キーだけのループと値の取り出し方
辞書をループするとき、最もシンプルなのは「キーだけを取り出す」方法です。for item in menu のように書けば、辞書に登録されているキーが順番に取り出されます。ここで、キーが取り出される理由を理解しておくと、あとでkeysを使った書き方も自然に理解できます。
キーだけではなく値も表示したい場合は、menu[item] のように、キーを使って値を取り出します。この方法でも目的は達成できますが、キーと値の両方を扱う処理が増えてくると、コードが少し長くなりがちです。そこで役立つのがitemsという考え方です。
itemsを使うと読みやすさが大きく変わる
itemsを使うと、キーと値をペアで取り出せるため、辞書のループ処理がとても読みやすくなります。for item, price in menu.items のように書けば、キーと値がそれぞれ変数に分かれて入るので、処理内容が直感的になります。辞書の中身を一覧で表示したいとき、表のように整えて出力したいとき、条件を付けて特定のデータだけを処理したいときなど、itemsは幅広く活躍します。
また、itemsが返すのはキーと値の組であり、ペアの形で順番に取り出せる仕組みになっています。難しい用語を覚える必要はありませんが、「キーと値をまとめて取り出せる便利な仕組み」として覚えておくと、今後の学習がスムーズになります。
サンプルプログラムで辞書ループを復習
# 名前と購入数を辞書で管理して、一覧表示する例
orders = {
"りんご": 3,
"みかん": 1,
"バナナ": 2
}
for item, count in orders.items():
print(item, "は", count, "個です")
このようにitemsを使うと、キーと値を同時に扱えるので、表示処理がとても自然になります。辞書ループが書けるようになると、データの一覧表示だけでなく、合計計算やランキング作成、条件での絞り込みなどにもつなげられます。まずは基本の形をしっかり身につけることが大切です。
キーだけや値だけのループも使い分けよう
辞書のループ処理では、キーだけが必要な場面もあれば、値だけを使って計算したい場面もあります。keysやvaluesを使うと、目的に合わせてループ対象を絞れるため、コードが分かりやすくなります。辞書を使ったプログラムを作るときは、「今ほしいのはキーなのか、値なのか、それとも両方なのか」を意識することが、上達への近道です。
生徒「辞書にfor文を使うと、まずキーが出てくるっていうのが分かりました。」
先生「そこが基本だね。キーが分かれば、そこから値も取り出せるようになるよ。」
生徒「でも、値も一緒に使うならitemsのほうが読みやすいですね。」
先生「そうそう。キーと値をペアで扱えるから、表示や条件分岐が書きやすくなるんだ。」
生徒「keysやvaluesも、必要なときだけ使えばいいんですね。」
先生「その意識が大切だよ。辞書ループを使いこなせると、Pythonでできることがぐっと増えるよ。」