Pythonでlist(リスト)を検索する方法【初心者向け】

初心者向けにPythonでlistを検索する方法について解説しています。listはシーケンス型の一つで、他言語の配列に似た役割を持つものです。リストの作成方法、各要素の検索方法を実際の例を見ながら学習しましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonでlistを検索する方法について解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

listを検索する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

listとは

List型はPythonにおいて最も汎用的に用いられるデータ型です。

Listは、カンマで区切られた値(これを要素と呼びます)が、角カッコ[ ] により囲われています。

Listの要素は必ずしも全て同じデータ型である必要はありません。

リストは、カンマで区切られた値を角カッコで囲むことで、簡単に作ることができます。

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"]

文字列型と同じように、Listのインデックスは0から始まります。

Pythonでは、Listの中の要素を精査し、ある要素の位置や数を検索することが可能です。

 

listを検索する方法(存在・位置・個数)

それでは今回は、Listの中の要素について検索したい時に使われる演算子やメソッドをいくつか紹介します。

1. ある要素がリストの中にあるかどうかを検索したい場合

このような場合には、「in」演算子を用います。
書式は以下のようになります。

検索したいオブジェクト in リストオブジェクト

検索したいオブジェクトが右辺のリストオブジェクトの要素の中に存在している場合は、「True」を返します。存在しない場合には「False」を返します。

例えばこのように記述します。

list = ["A", "B", "C"]

print “B” in list # Trueが出力されます。
print "D" in list # Falseが出力されます。

 

2. ある要素のリスト内でのインデックスを検索したい場合

このような場合には、indexメソッドを用います。

リストオブジェクト.index(インデックスを検索したいオブジェクト)

インデックスを検索したいオブジェクトがリストの要素に含まれている場合は、
最初に合致した要素のインデックスを返します。

例えばこのように記述します。

list = ["A", "B", "C"]

print list.index(“B”) # 1が出力されます。

 

3. ある要素がリスト内にいくつ含まれるかを検索したい場合

このような場合には、countメソッドを用います。

リストオブジェクト.count(個数を検索したいオブジェクト)

検索したいオブジェクトがリスト内に含まれる数を返却します。

例えばこのように記述します。

list = ["A", "B", "C", "B"]

print list.count(“B") # 2が出力されます。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

実際に書いてみよう

coding: UTF-8

list = ["A", "B", "C", "D", "B"]
print list

print '"B" in list', "B" in list
print '"E" in list', "E" in list

出力結果

['A', 'B', 'C', 'D', 'B']
"B" in list True
"E" in list False

 

if "B" in list:
print 'list.index("B")', list.index("B")

if "B" in list:
print 'list.count("B")', list.count("B")

出力結果

list.index("B") 1
list.count(“B") 2

 

監修してくれたメンター

川井健滉(かわいたけあき)

フリーランスエンジニア(の卵)。Pythonでの開発力を売りに、
種々システムの設計から実装まで行う。

過去には、某大手サイトの開発 / 機械学習モデルの汎用性検証 / CBの作成等、幅広く経験、
直近ではWebスクレイピングシステムやデータを活用した機械制御モデルの構築に従事。

元々はカフェのオーナー。しかしコーヒーは飲めない。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。