\

Pythonのリストでは、index()メソッドを使って特定の要素のインデックスを取得することができます。しかし、このメソッドは最初に一致した要素のインデックスしか返しません。リスト内のすべての一致する要素のインデックスを取得するには、以下のような方法があります。

def index_multi(lst, item):
    return [i for i, x in enumerate(lst) if x == item]

# 使用例
lst = [1, 2, 1, 3, 1]
print(index_multi(lst, 1))  # 出力: [0, 2, 4]

この関数index_multiは、リストlstと検索したい要素itemを引数に取り、lst内のすべてのitemのインデックスをリストとして返します。enumerate()関数を使ってリストのインデックスと要素を同時に取得し、リスト内包表記を使って一致する要素のインデックスだけを抽出しています。

この方法を使えば、Pythonのリストから複数のインデックスを効率的に取得することができます。これは、データ分析や機械学習などの領域で、特定の条件に一致する要素の位置を知りたいときなどに役立ちます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です