当サイトは、アフィリエイト広告を利用しています

【Python】if inとif notinの使いかた

作成日:2025月08月23日
更新日:2025年08月23日

Pythonで存在チェックで使用する

  • if in構文
  • if not in構文

の使い方をまとめる

if in構文

Pythonのif in構文はリスト・文字列・辞書などに対して

  1. ある値がコレクションの中に含まれているかどうかをチェック
  2. 条件に合えば処理を実行する

を行う。

基本構文

基本構文は下記の通り

基本構文
ifin コレクション:
# 条件がTrueのときの処理

コレクション別実装

if in構文はコレクション

  • リスト
  • 辞書
  • 辞書リスト
  • インスタンスリスト

を対象に実行できる

リスト

list
fruits = ["apple", "banana", "cherry"]
if "banana" in fruits:
print("バナナはリストにあります")
  • 値の存在を確認する。完全一致のみ。

辞書

dict
person = {"name": "Taro", "age": 25}
if "name" in person:
print("キー 'name' は存在します")
  • キーの存在を確認する。
  • 値は見ない。

辞書リスト

list_of_dict
people = [{"name": "Taro"}, {"age": 30}]
if {"name": "Taro"} in people:
print("Taro の辞書がリストにあります")
  • 辞書が完全一致していれば True
  • 部分一致は不可

インスタンスリスト

list_of_instance
class Person:
def __init__(self, name):
self.name = name
p1 = Person("Taro")
p2 = Person("Hanako")
people = [p1, p2]
if p1 in people:
print("p1 はリストに含まれています")
  • インスタンスそのものがリストに含まれているかをチェック。
  • 同じオブジェクトかどうかで判定される

if not in構文

Pythonのif not in構文はリスト・文字列・辞書などに対して

  1. ある値がコレクションの中に含まれていないかをチェック
  2. 条件に合えば処理を実行する

を行う。

基本構文

基本構文は下記の通り

基本構文
ifnot in コレクション:
# 条件がTrueのときの処理

コレクション別実装

if not in構文もif in`と同様に

  • リスト
  • 辞書
  • 辞書リスト
  • インスタンスリスト

を対象に実行できる。

リスト

list
fruits = ["apple", "banana", "cherry"]
if "orange" not in fruits:
print("オレンジはリストにありません")
  • 値が存在しないことを確認する。
  • 完全一致のみ。

辞書

dict
person = {"name": "Taro", "age": 25}
if "address" not in person:
print("キー 'address' は存在しません")
  • キーが存在しないことを確認する。
  • 値は見ない。

辞書リスト

list_of_dict
people = [{"name": "Taro"}, {"age": 30}]
if {"name": "Hanako"} not in people:
print("Hanako の辞書はリストにありません")
  • 辞書が完全一致で含まれていないことを確認。
  • 部分一致は不可。

インスタンスリスト

list_of_instance
class Person:
def __init__(self, name):
self.name = name
p1 = Person("Taro")
p2 = Person("Hanako")
people = [p1]
if p2 not in people:
print("p2 はリストに含まれていません")
  • インスタンスそのものがリストに含まれていないことをチェック。
  • 同じオブジェクトであるかどうかで判定される。

まとめ

リストや辞書リストなどのコレクションに対して、ある値が存在するか
そうでないかのみチェックし、処理をしたい時に使う。

あくまで処理を実行することが目的なので

  • ある値のあるなしで処理を分けたい → if in構文
  • リストで受け取りたい → リスト内包表記
  • ある値を抽出したい場合 → ジェネレータ式

のような使い分けになる

ジェネレータ式とリスト内包表記は下記でまとめている

関連記事

新着記事

タグ別一覧
top