カテゴリ: Python 更新日: 2025/12/24

Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法

Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法

先生と生徒の会話形式で理解しよう

生徒

「Pythonで、リストの中にある特定のデータを探すにはどうしたらいいですか?」

先生

「いい質問ですね。Pythonにはindex()メソッドやinという演算子を使って、リストの中から特定の要素を検索したり、取得したりする方法がありますよ。」

生徒

「それって難しいですか?パソコン初心者でもできますか?」

先生

「とっても簡単です!これからやさしく説明していくので、安心してくださいね!」

1. リストとは?Pythonのリストの基本をおさらい

1. リストとは?Pythonのリストの基本をおさらい
1. リストとは?Pythonのリストの基本をおさらい

まず「リスト」とは、Pythonで複数のデータをひとかたまりにして扱える入れ物です。買い物メモのように順番を保ったまま並べられ、あとから数えたり取り出したりできます。似た言葉に「配列」がありますが、Pythonでは日常的な集合はこの「リスト」を使うと覚えてOKです。

リストは[ ](角かっこ)で作り、要素(値)をカンマで区切ります。次のように書きます。


fruits = ["りんご", "バナナ", "みかん"]

この例では、fruitsというリストに3つの果物名が入っています。リストは「順序をもつ」ので、左から0番目・1番目・2番目…と番号(インデックス)が付きます。

基本の確認として、要素数や先頭の要素を取り出してみましょう。


fruits = ["りんご", "バナナ", "みかん"]

print(len(fruits))   # 要素の数(3)
print(fruits[0])     # 0番目(先頭)の要素:「りんご」

空のリストから始めたいときは、[]だけで用意できます。あとで値を入れていくときの土台として便利です。


items = []  # 空のリスト

リストには文字だけでなく数値なども入れられます(混在も可能)。まずは「角かっこで作る」「カンマで区切る」「左から0番目で数える」という3点を押さえておけば、Pythonのリストの基礎はばっちりです。

2. リストの中にあるか確認するには?in演算子を使おう

2. リストの中にあるか確認するには?in演算子を使おう
2. リストの中にあるか確認するには?in演算子を使おう

in(イン)は「その値がリストの中に含まれているか」を調べるためのキーワードです。結果はTrue(ある)かFalse(ない)の二択で返り、初めてでも直感的に使えます。読み方どおり「~の中にある?」と覚えるとスッと入ります。

基本の使い方はとってもシンプルです。


fruits = ["りんご", "バナナ", "みかん"]

print("バナナ" in fruits)  # True: 含まれている
print("ぶどう" in fruits)  # False: 含まれていない

実行結果は次のとおりです。


True
False

判定結果は、そのまま条件分岐にも使えます。見つかったときだけ処理したい、といった用途に便利です。


fruits = ["りんご", "バナナ", "みかん"]
target = "バナナ"

if target in fruits:
    print(f"{target}が見つかりました!")
else:
    print(f"{target}はありません。")

反対に「含まれていないこと」を確かめたいときはnot inを使います。


if "ぶどう" not in fruits:
    print("ぶどうはリストに未登録です。")

ポイント:完全一致で判定されます。前後の空白や全角・半角の違い、文字の大小の違い(例:"Apple""apple")は別物として扱われます。また、数値と文字列も別物です(3 in [1, 2, "3"]False)。まずは「含まれるか」を素早く確かめる道具としてinnot inを覚えておきましょう。

3. リストの中で何番目にあるかを知るには?index()を使おう

3. リストの中で何番目にあるかを知るには?index()を使おう
3. リストの中で何番目にあるかを知るには?index()を使おう

リストの中にある要素が、何番目(インデックス)にあるかを調べたいときは、index()メソッドを使います。「インデックス」というのは、リストの中での「順番の番号」のことです。

Pythonでは、リストの一番最初の要素は「0番目」です。


fruits = ["りんご", "バナナ", "みかん"]

print(fruits.index("バナナ"))

実行結果:


1

「バナナ」は2番目に見えますが、Pythonでは0から数えるので「1」と表示されます。

ただし注意点があります。index()を使って、リストの中にない値を指定すると、エラーになってしまいます。


fruits = ["りんご", "バナナ", "みかん"]

print(fruits.index("ぶどう"))

実行結果:


ValueError: 'ぶどう' is not in list

このように、「その値がないよ!」というエラーになります。ですので、index()を使う前に、in演算子で存在を確認しておくと安心です。

4. index()とinを組み合わせて、安全に検索しよう

4. index()とinを組み合わせて、安全に検索しよう
4. index()とinを組み合わせて、安全に検索しよう

inで存在を確認してから、index()を使うと、エラーを防げて安全です。


fruits = ["りんご", "バナナ", "みかん"]
search = "ぶどう"

if search in fruits:
    print(f"{search}は{fruits.index(search)}番目にあります。")
else:
    print(f"{search}はリストの中にありません。")

実行結果:


ぶどうはリストの中にありません。

このように、存在しないデータでもやさしく対応できます。

5. リストに同じ値が複数あるときはどうなる?

5. リストに同じ値が複数あるときはどうなる?
5. リストに同じ値が複数あるときはどうなる?

リストの中に同じ値が何回も出てくる場合、index()は最初に見つかった場所(最も左側)の番号を返します。


numbers = [10, 20, 30, 20, 40]

print(numbers.index(20))

実行結果:


1

20は2回出てきますが、最初の20が1番目なので、それが返されます。

6. in演算子は文字列にも使える!

6. in演算子は文字列にも使える!
6. in演算子は文字列にも使える!

in演算子はリストだけでなく、文字列にも使えます。文字の中に特定の単語や文字が含まれているか確認できます。


message = "こんにちは、Python!"

print("Python" in message)
print("Java" in message)

実行結果:


True
False

このように、文字列の中にあるかどうかも調べられます。

7. 覚えよう!index()とinのポイント

7. 覚えよう!index()とinのポイント
7. 覚えよう!index()とinのポイント
  • in演算子は、値がリストの中にあるかどうかを調べる
  • index()は、リストの中の値の位置(番号)を調べる
  • index()は値がないとエラーになるので、inと一緒に使うと安全
  • リストの番号は0からスタートする
  • inは文字列にも使える

まとめ

まとめ
まとめ

ここまで「Python」「リスト」「要素の検索」「in演算子」「indexメソッド」について学んできました。はじめてプログラミングに触れる方でも、「リストを作る」「その中にあるか確かめる」「何番目か調べる」という一連の流れが身につくと、プログラムを読んだり書いたりする場面でとても役に立ちます。特に、実際の開発や学習では「あるかどうか」「どこにあるのか」を機械的に調べられるというのは、大きな強みになります。 なぜなら、値が存在するかどうかを人の目でひとつずつ確認しなくてよくなり、コンピュータに任せて正確に調べてもらえるからです。たとえばたくさんのデータの中から探す場合、ひとつずつ手作業で確かめるのは大変ですが、Pythonを使えば一瞬で処理できます。 今回紹介した「in演算子」と「indexメソッド」はとても基礎的なものですが、基礎だからこそ多くのプログラムで使われています。まずは小さなリストで練習し、慣れてきたら数字や文字だけでなく、もっと長い文字列や複雑なデータなどにも挑戦してみてください。

リストを調べる基本のサンプル

ここでは、授業で触れた内容をひとつにまとめた例を紹介します。実行結果のイメージもしやすいように、やさしいことばで書いています。


fruits = ["りんご", "バナナ", "みかん", "りんご"]
target = "りんご"

# リストの中にあるか確かめる
if target in fruits:
    print("りんごはリストの中にあります。")

    # 何番目にあるかを調べる
    number = fruits.index(target)
    print(f"最初に見つかった場所は{number}番目です。")
else:
    print("りんごはリストにありません。")

リストの中に同じ名前が複数あっても、index()は一番はじめに見つかった場所を教えてくれます。もし全ての場所を調べたいときは、繰り返し処理を使う方法もあります。このように、小さなしくみを組み合わせることで、より便利なプログラムへステップアップできます。

in演算子は文字列でも使える

リストだけでなく、文字列の検索にも使えることを忘れずに覚えておくと便利です。


message = "こんにちはPython"

if "Python" in message:
    print("文章の中にPythonがあります")

このように、文章の中から単語を探したり、特定のことばが含まれているかチェックしたりもできます。使い方はとてもシンプルなので、プログラミングに慣れていない方でもすぐに応用できます。

リスト検索のコツ

「検索したい値が本当に入っているかどうか」という視点を持つと、プログラムのトラブルを事前に防ぎやすくなります。特に「indexメソッド」は見つからないとエラーになるため、「in演算子」と一緒に使うと安心です。 日常でも、忘れ物がないか確認してから家を出るように、プログラムでも「存在を確認してから使う」習慣をつけると、丁寧で読みやすいコードが書けます。

先生と生徒の振り返り会話

生徒

「リストの中から値を探すときは、まずinであるかどうか確かめて、あったらindexで場所を調べるという流れなんですね。思っていたより簡単でした。」

先生

「そうですね。とても基本的ですが、多くのプログラムで使われる大切な考え方です。買い物メモでも、欲しい食べ物が書いてあるか確認して、どこに書かれているか目で探しますよね。それを機械的に行うのがプログラミングです。」

生徒

「文字列にもinが使えるというのは意外でした。文章の中に特定の単語があるか調べたりできるのは便利ですね。」

先生

「そのとおりです。たとえばゲームのメッセージやユーザーの入力内容を確認したり、検索機能を作ったりするときにも役に立ちます。Pythonでは扱い方がやさしいので、ぜひいろいろ試してみてください。」

生徒

「今日の内容を使えば、もっと複雑なプログラムにもチャレンジできそうです。」

先生

「はい。まずは小さなコードを動かしながら、ひとつずつ慣れていきましょう。ゆっくりでも確実に身につきますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonのリストって配列とどう違うんですか?初心者でも違いを理解できますか?

Pythonでは「リスト」が一般的に使われるデータの集合で、「配列」はNumPyなど特別な場面で使われます。初心者はまずリストだけを覚えれば大丈夫です。
カテゴリの一覧へ
新着記事
New1
Flask
Flaskでデータベースエラーを処理する方法!初心者にもわかる例外の使い方
New2
Flask
FlaskでリダイレクトやURL生成を行う方法!便利な関数の使い方を解説
New3
Flask
FlaskでPOSTリクエストを受け取る方法!初心者でもわかるJSONデータの受け取り方
New4
Flask
Flask‑Mailの使い方!アプリからメールを送信する基本方法を解説
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Django
DjangoとFlaskの違いを完全比較!初心者でもわかるPythonフレームワーク入門
No.3
Java&Spring記事人気No3
Python
Pythonでリストをコピーする方法!copy()・スライス・list()の使い方を比較
No.4
Java&Spring記事人気No4
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.5
Java&Spring記事人気No5
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.6
Java&Spring記事人気No6
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.7
Java&Spring記事人気No7
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.8
Java&Spring記事人気No8
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説