Python: リストの要素値を検索する in, index(), count()

Pythonでリストの値を検索する場合、in演算子・index()・count()を 使う方法があります。

リストに指定した値が存在するかどうかを確認したい場合は in演算子。 指定した値と一致する要素のインデックスを知りたい場合は index()メソッド。 指定した値がリスト内に何個あるかを知りたい場合はcount()メソッドを使います。 それぞれの方法について解説します。

in演算子: 存在を確認する

リスト内に検索値が存在するかどうかを知りたい場合はin演算子を使います。
in演算子の書式は次の通りです。 in演算子の左側に検索したい値、右側にリストを記述します。

書式
検索値 in リスト

指定した「検索値」がリスト内に存在する場合はTrue、 存在しない場合はFalseが戻ります。

li = ["a", "b", "c", "d"]

print("a" in li) # True

print("x" in li) # False

通常は下のコードのように、if文の条件式でin演算子を使った検索を行い、 True・Falseに応じて処理を分岐させます。

li = ["a", "b", "c", "d"]

if "a" in li:
	# True時の処理
else:
	# False時の処理

index(): インデックスを取得

指定した値と一致する要素のインデックスを取得したい場合は listオブジェクトのindex()メソッドを使います。

書式
リスト.index(検索値)

戻り値は一致した要素のインデックスです。
検索値がリストに存在しない場合はエラーが発生します。

li = ["a", "b", "c", "d"]

print(li.index("a"))  # 0

print(li.index("d"))  # 3

count(): 値の個数を調べる

検索値がリストに何個あるかを知りたい場合、 listオブジェクトのcount()メソッドを使います。

書式
リスト.count(検索値)

戻り値は見つかった個数です。 存在しない場合は0が戻ります。

li = ["a", "b", "c", "a", "b"]

print(li.count("a")) # 2

print(li.count("x")) # 0
Python