【Python】None、空配列、空タプル、空辞書、空集合を判定する方法

Pythonでは、値がNoneや空のデータ型(リスト、タプル、辞書、集合、文字列など)であるかを判定することがよくあります。

この記事では、これらの判定方法をシンプルでわかりやすいサンプルコードを使って解説します。

Noneの判定

Noneは値が存在しないことを表します。Noneの判定にはis演算子を使用します。サンプルコードを以下に示します。

value = None

# Noneかどうかを判定
if value is None:
    print("値はNoneです")

# Noneでないかどうかを判定
if value is not None:
    print("値はNoneではありません")
  • is Noneは、値(value)がNoneである場合にTrueを返します。
  • is not Noneは、値(value)がNoneでない場合にTrueを返します。

is演算子は、オブジェクトの同一性を比較するため、Noneの判定にはisを使用するのが適切です。

空のデータ型の判定

リスト、タプル、辞書、集合、文字列などが空かどうかを判定するには、以下の2つがあります。

  • if not: 空の場合にTrueを返します。
  • len(): 長さが0かどうかを確認します。
    • 明示的に長さを確認したい場合に使用します。
    • len()で空のデータ型を判定できますが、if notのほうが可読性が高いのでお勧めです。

以下にデータ型(リスト、タプル、辞書、集合、文字列など)ごとの具体例を示します。

空配列(リスト)の判定

空配列(リスト)の判定をしているサンプルコードを以下に示します。

my_list = []

# 空の判定
if not my_list:
    print("リストは空です")

# 空でない判定
if my_list:
    print("リストには要素があります")

# len()を使用して空の判定
if len(my_list) == 0:
    print("リストは空です")

# len()を使用して空でない判定
if len(my_list) > 0:
    print("リストには要素があります")

空タプルの判定

空タプルの判定をしているサンプルコードを以下に示します。

my_tuple = ()

# 空の判定
if not my_tuple:
    print("タプルは空です")

# 空でない判定
if my_tuple:
    print("タプルには要素があります")

# len()を使用して空の判定
if len(my_tuple) == 0:
    print("タプルは空です")

# len()を使用して空でない判定
if len(my_tuple) > 0:
    print("タプルには要素があります")

空辞書の判定

空辞書の判定をしているサンプルコードを以下に示します。

my_dict = {}

# 空の判定
if not my_dict:
    print("辞書は空です")

# 空でない判定
if my_dict:
    print("辞書にはキーと値があります")

# len()を使用して空の判定
if len(my_dict) == 0:
    print("辞書は空です")

# len()を使用して空でない判定
if len(my_dict) > 0:
    print("辞書にはキーと値があります")

空集合の判定

空集合の判定をしているサンプルコードを以下に示します。

my_set = set()

# 空の判定
if not my_set:
    print("集合は空です")

# 空でない判定
if my_set:
    print("集合には要素があります")

# len()を使用して空の判定
if len(my_set) == 0:
    print("集合は空です")

# len()を使用して空でない判定
if len(my_set) > 0:
    print("集合には要素があります")

空文字列の判定

空文字列の判定をしているサンプルコードを以下に示します。

my_string = ""

# 空の判定
if not my_string:
    print("文字列は空です")

# 空でない判定
if my_string:
    print("文字列には内容があります")

# len()を使用して空の判定
if len(my_string) == 0:
    print("文字列は空です")

# len()を使用して空でない判定
if len(my_string) > 0:
    print("文字列には内容があります")

本記事のまとめ

この記事では『PythonでNone、空配列、空タプル、空辞書、空集合を判定する方法』を説明しました。

  • Noneの判定
    • is None: 値がNoneの場合にTrueを返す。
    • is not None: 値がNoneでない場合にTrueを返す。
    • ポイント: is演算子を使用するのは、オブジェクトの同一性を判定するため。
  • 空のデータ型の判定
    • if not: データ型が空である場合にTrueを返す。
    • len(): 長さを明示的に確認する場合に使用する。

お読み頂きありがとうございました。