カテゴリ: Python 更新日: 2026/01/01

Pythonの辞書で要素の存在を確認する方法!in演算子の使い方をやさしく解説

Pythonの辞書で要素の存在を確認する方法!in演算子の使い方をやさしく解説
Pythonの辞書で要素の存在を確認する方法!in演算子の使い方をやさしく解説

先生と生徒の会話形式で理解しよう

生徒

「Pythonの辞書で、特定のデータがあるかどうか確認する方法ってありますか?」

先生

「もちろん!inっていう演算子を使えば、辞書にその要素があるかすぐにチェックできるよ。簡単で便利だから、しっかり覚えておこう!」

1. Pythonの辞書とは?まずは基本をおさらい

1. Pythonの辞書とは?まずは基本をおさらい
1. Pythonの辞書とは?まずは基本をおさらい

辞書(dictionary)は、Pythonでデータを「キー」と「値」のペアで管理する便利なデータ型です。

たとえば、果物の名前と価格をセットで保存する場合、こんなふうに書きます:


fruits = {
    "りんご": 120,
    "バナナ": 80,
    "みかん": 100
}

2. in演算子とは?

2. in演算子とは?
2. in演算子とは?

in演算子は、Pythonで「この中にあるかな?」を調べるための道具です。

リストや文字列、そして今回のように辞書の中の「キー」が存在するかを調べるのに使えます。

辞書でinを使うときはキーの存在確認になります。

3. in演算子でキーの存在を確認する基本構文

3. in演算子でキーの存在を確認する基本構文
3. in演算子でキーの存在を確認する基本構文

if "バナナ" in fruits:
    print("バナナはあります!")

バナナはあります!

"バナナ" in fruitsは、「fruitsという辞書の中に“バナナ”というキーがあるか?」をチェックしています。

4. 存在しない場合の動きも確認しよう

4. 存在しない場合の動きも確認しよう
4. 存在しない場合の動きも確認しよう

if "ぶどう" in fruits:
    print("ぶどうはあります!")
else:
    print("ぶどうはありません…")

ぶどうはありません…

このように、存在しないキーでも安全にチェックできるので、エラーを避けるのにも便利です!

5. 実生活で例えるとどうなる?

5. 実生活で例えるとどうなる?
5. 実生活で例えるとどうなる?

辞書を「冷蔵庫の中身」と考えてみましょう。

"たまご" in 冷蔵庫は、「冷蔵庫にたまごが入っているか?」を確認しているイメージです。

だから、冷蔵庫(辞書)の中に欲しい食材(キー)があるかどうかをinでチェックするわけですね。

6. 値(バリュー)を調べたいときはどうする?

6. 値(バリュー)を調べたいときはどうする?
6. 値(バリュー)を調べたいときはどうする?

inは「キー」には使えますが、「値(バリュー)」にはそのまま使えません。

値に対して調べたいときは、values()を使います:


if 100 in fruits.values():
    print("値段100円の果物があります!")

値段100円の果物があります!

7. in演算子を使うときの注意点

7. in演算子を使うときの注意点
7. in演算子を使うときの注意点
  • inキーの存在確認に使う(値ではない)
  • 値を調べるにはvalues()と組み合わせて使う
  • 存在を確認してから値を使えば、エラーを防げる

たとえば、以下のようにすれば安心して値を取り出せます:


if "みかん" in fruits:
    print(fruits["みかん"])

8. 実践:辞書を使ったメニュー表示例

8. 実践:辞書を使ったメニュー表示例
8. 実践:辞書を使ったメニュー表示例

メニュー表のような辞書を使って、注文された商品があるかどうかを確認してみましょう。


menu = {
    "ラーメン": 700,
    "カレー": 600,
    "うどん": 500
}

order = "カレー"

if order in menu:
    print(f"{order}は{menu[order]}円です。")
else:
    print(f"{order}はメニューにありません。")

カレーは600円です。

このように、inを使えば、ユーザーの入力が辞書にあるかすぐに判断できます!

まとめ

まとめ
まとめ

この記事では、Pythonの辞書において要素の存在を確認する方法として、 in演算子の使い方を中心に解説しました。 辞書はキーと値のペアでデータを管理するため、プログラムの中で 「このキーは存在するのか?」「このデータを安全に使っても大丈夫か?」 といった確認処理がとても重要になります。

Pythonの辞書に対してin演算子を使うと、 値ではなくキーの存在をチェックするという点が大きなポイントでした。 初心者の方がつまずきやすいのは、 「値が入っているかどうかを直接 in で調べられる」と勘違いしてしまうところです。 実際には、値を調べたい場合はvalues()メソッドを使う必要があります。

また、in演算子を使う最大のメリットは、 エラーを未然に防げるという点です。 存在しないキーに対して直接アクセスするとKeyErrorが発生しますが、 事前にinで確認しておけば、安全にプログラムを動かすことができます。 これは、実務でも非常によく使われる考え方であり、 Pythonらしい「読みやすく安全なコード」を書くための基本とも言えます。

実例として紹介したメニュー表示や価格確認のように、 辞書とin演算子の組み合わせは、 ユーザー入力のチェック、設定値の確認、データの分岐処理など、 さまざまな場面で活躍します。 Pythonの辞書は高速に検索できる特徴があるため、 要素の存在確認を頻繁に行う処理でも安心して使えるのも魅力です。

これからPythonでプログラムを書いていく中で、 辞書の存在確認は必ずと言っていいほど登場します。 「まず in で確認してから使う」という習慣を身につけておくことで、 バグの少ない、読みやすいコードが書けるようになるでしょう。

● まとめとしてのサンプルプログラム

# 商品と価格を管理する辞書
products = {
    "パン": 150,
    "牛乳": 200,
    "卵": 250
}

item = "牛乳"

# in演算子でキーの存在を確認
if item in products:
    print(f"{item}の価格は{products[item]}円です。")
else:
    print(f"{item}は取り扱っていません。")

このように、辞書とin演算子を組み合わせることで、 実用的で安全なプログラムを簡単に書くことができます。

先生と生徒の振り返り会話

生徒:「辞書で in 演算子を使うと、キーがあるかどうかをすぐに確認できるんですね。値じゃないってところが大事だと分かりました。」

先生:「その通り。Pythonの辞書では、in は必ずキーの存在確認になるんだ。ここを理解しているかどうかで、エラーの出にくさが変わってくるよ。」

生徒:「先に in でチェックしてから値を取り出せば、KeyErrorも防げますね。」

先生:「いい気づきだね。実務でも『確認してから使う』という書き方はとても大切なんだ。」

生徒:「値を調べたいときは values() を使うのも覚えておきます!」

先生:「うん。それができれば、辞書操作の基本はしっかり身についているよ。これからは自信を持って辞書を使っていこう。」

カテゴリの一覧へ
新着記事
New1
Flask
認証と認可の違いを整理しよう!Flaskで押さえるべき基礎概念
New2
Flask
Flaskで非同期フォーム送信(Ajax POST)を実装する方法を解説!初心者でもわかるステップ解説
New3
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
New4
Python
PythonでMySQLに接続する方法!pymysqlの基本的な使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.4
Java&Spring記事人気No4
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.5
Java&Spring記事人気No5
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.6
Java&Spring記事人気No6
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Flask
Flaskでクラウド上のメッセージキュー(SQS/PubSub)を扱う完全ガイド!初心者向け解説