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