Pythonでリスト内の要素を検索する方法について解説します。リストはPythonの基本的なデータ構造の一つで、その中にある特定の要素を見つけるための方法はいくつかあります。
リストとは
Pythonで用いられるデータには、そのデータの特性に対応したデータ型が用意されています。例えば、整数にはint型、小数には、float型、文字には、str型といったものです。しかし、これらのデータ型は、一度に1つだけのデータを扱うことしかできません。複数のデータをまとめて扱いたいときは、どのようにすればよいのでしょうか。複数のデータをまとめて扱いたいときによく利用されるデータ型として、リストがあります。
リストはPythonにおいて非常に汎用性の高いデータ型の1つです。リストを作るには、カンマで区切られた複数の値 (個々を要素と呼びます) が、角カッコ [ ] により囲みます。リストの要素は必ずしもすべて同じデータ型である必要はなく、文字、整数、小数などを混在させることが可能です。
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
リスト中の要素を検索する方法
Pythonでは、リスト中の要素を精査し、ある要素の位置や数を検索することもできます。以下に、リスト中の要素について検索するいくつかの方法を紹介します。
1. ある要素がリストの中にあるかどうかを検索したい場合
このような場合には、「in」演算子を用いて、以下のように書きます。
検索したいオブジェクト in リストオブジェクト
検索したいオブジェクトが右辺のリストオブジェクトの要素の中に存在している場合は、「True」を返します。存在しない場合には「False」を返します。
list = ["A", "B", "C"]
print("B" in list) # True
2. ある要素のリスト内での順番(インデックス)を検索したい場合
順番(インデックス)とは、「リストの中で何番目」を表す値 (0以上の整数) です。ある要素の順番(インデックス)を検索したい場合には、indexメソッドを用いて以下のように書きます。
リストオブジェクト.index(要素)
順番(インデックス)を検索したい要素がリスト中に含まれている場合は、最初に合致した要素の順番(インデックス)を返します。同じ要素が複数個含まれる場合でも、indexメソッドの返り値は最初の要素の順番(インデックス)のみです。
list = ["A", "B", "C"]
print(list.index("B")) # 1
なお、indexメソッドで指定した要素が存在しない場合、ValueErrorというエラーが返されますので、注意が必要です。
3. ある要素がリスト中にいくつ含まれるかを検索したい場合
リスト中における特定の要素の個数を数える場合、countメソッドを用います。
リストオブジェクト.count(要素)
検索したいオブジェクトがリスト中に含まれる数を返却します。
list = ["A", "B", "C", "B"]
print(list.count("B")) # 2
以上、Pythonでリスト内の要素を検索する方法について解説しました。これらの方法を活用して、Pythonプログラミングをより効率的に行ってください。