カテゴリ: Python 更新日: 2025/07/23

Pythonでリストの要素を検索・取得する方法を解説!初心者向けにindexメソッドとin演算子の使い方をやさしく説明

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

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

生徒

「Pythonでリストの中に特定のデータがあるかどうか調べる方法ってありますか?」

先生

「ありますよ。in演算子を使えば、リストにデータが含まれているかを簡単に調べられますし、index()メソッドを使えば、その位置(インデックス)も分かります。」

生徒

「位置も調べられるんですか?便利そうですね!」

先生

「それでは、inindex()の基本的な使い方を一緒に見ていきましょう!」

-

1. リストに要素があるか確認するin演算子

1. リストに要素があるか確認するin演算子
1. リストに要素があるか確認するin演算子

Pythonでは、リストの中に特定の値があるかどうかを調べたいとき、in演算子が使えます。

たとえば、「りんご」がリストにあるか調べるには次のように書きます。


fruits = ["りんご", "バナナ", "みかん"]
if "りんご" in fruits:
    print("りんごはリストにあります。")

りんごはリストにあります。

inは、「〜の中にあるか?」という意味で、とてもわかりやすい記述です。

逆に「〜の中にないか?」を調べたいときはnot inを使います。


if "ぶどう" not in fruits:
    print("ぶどうはリストにありません。")

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

2. index()メソッドで位置を取得する

2. index()メソッドで位置を取得する
2. index()メソッドで位置を取得する

index()メソッドを使うと、リストの中で指定したデータがどの位置にあるかを調べることができます。

たとえば、「バナナ」の位置を調べる場合は次のように書きます。


fruits = ["りんご", "バナナ", "みかん"]
position = fruits.index("バナナ")
print("バナナの位置は", position)

バナナの位置は 1

Pythonのリストは、0から数えるというルールなので、「バナナ」は2番目に見えても、位置は1になります。

3. index()を使うときの注意点

3. index()を使うときの注意点
3. index()を使うときの注意点

index()は、リストにその値が存在しないとエラーになります。事前にinで調べてから使うと安全です。


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

if "ぶどう" in fruits:
    print(fruits.index("ぶどう"))
else:
    print("ぶどうはリストに見つかりませんでした。")

ぶどうはリストに見つかりませんでした。

こうすることで、プログラムが途中で止まらず、ユーザーに優しい表示ができます。

4. 同じ値が複数あった場合は?

4. 同じ値が複数あった場合は?
4. 同じ値が複数あった場合は?

index()を使うと、リストの中に同じ値が複数あっても、最初に見つかった場所だけが返されます。


numbers = [10, 20, 10, 30, 10]
print(numbers.index(10))

0

このように、10が3つあっても、一番最初に見つかった位置「0」が返ってきます。

-

5. inを使って検索結果を使い分けよう

5. inを使って検索結果を使い分けよう
5. inを使って検索結果を使い分けよう

in演算子は、検索のためだけでなく、条件によって処理を変える場合にも使えます。


items = ["ペン", "消しゴム", "定規"]
item = "鉛筆"

if item in items:
    print(item + "は文房具リストに含まれています。")
else:
    print(item + "は文房具リストにありません。")

鉛筆は文房具リストにありません。

ユーザーの入力や選択肢に応じて分岐したいときに、とても便利な機能です。

6. inとindexを組み合わせて使う例

6. inとindexを組み合わせて使う例
6. inとindexを組み合わせて使う例

最後に、inindex()を組み合わせて、リストの中にあるデータの位置を調べる実践例を紹介します。


names = ["田中", "佐藤", "鈴木", "高橋"]
search = "鈴木"

if search in names:
    print(search + "さんはリストにいて、位置は", names.index(search), "です。")
else:
    print(search + "さんはリストにいません。")

鈴木さんはリストにいて、位置は 2 です。

このようにすれば、エラーも出さず、検索と位置の取得を同時に行うことができます。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
PHP&Python記事人気No3
Pythonのリストを辞書に変換する方法(dict() / zip())
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-