Python | x is not in list エラーの原因と解決策

Python エラー,Python

Python | x is not in list エラーの原因と解決策

Pythonの実行時に発生するエラー「x is not in list」の原因と解決策について紹介しています。

ValueError: x is not in list
ValueError: x はリストにありません

確認環境

Windows11 ローカル
Python python-3.11.1

x is not in list エラーの原因

「x is not in list」というPythonエラーはindex()メソッドなどで指定した値がリスト内にない場合に発生するエラーです。

例えば以下のような事がエラーの発生原因にあります。

  • index()メソッドで指定した値がリスト内にない

x is not in listエラーの発生例と修正案

「x is not in list」エラーが発生するコード例とその解決策を紹介します。

index()関数で指定した値がリスト内にない

index()メソッドは指定した値がリストに存在しない場合、エラーを返します。
例えば、以下のように指定した値「10」がリスト内にない場合はエラーとなります。

data_list = [60, 80, 20, 40, 50]

# 指定した値のインデックス番号を取得する
index_no = data_list.index(10)

print(index_no)
# ValueError: 10 is not in list

上記のコードエラーを解決するには、リストに含まれている値をindex()メソッドで指定するようにします。

data_list = [60, 80, 20, 40, 50]

# 指定した値のインデックス番号を取得する
index_no = data_list.index(20)

print(index_no)
# 2

プログラム上、リストに含まれている値を指定する可能性がある場合は事前にチェックするか、try…except文でエラーの例外処理を実装します。

data_list = [60, 80, 20, 40, 50]

try:
	index_no = data.index(10)
except ValueError:
	# ValueErrorエラー時の例外処理
	index_no = False

print(index_no)
# False