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(): 長さを明示的に確認する場合に使用する。
お読み頂きありがとうございました。