どうも、ちょげ(@chogetarou)です。
リスト(List)の要素のインデックス(index)を条件で検索する方法を紹介します。
方法

リスト(List)の要素のインデックス(index)を条件で検索するには、内包表記を使います。
まず、内包表記で、range()をfor文でループし、ループ変数を結果として返します。
range()の引数に、対象のリストの要素数を指定します。
そして、for文の後ろに、if文で要素の条件式を指定します。
if文の条件式では、リストのループ変数のインデックスにアクセスし、リストの要素を取得します。
#list=対象のリスト, condition=要素の条件式
#条件式ではlist[i]で要素を取得
result = [i for i in range(len(list)) if condition]
上記の内包表記は、条件式を満たすリストの要素のインデックスを全て取得します。
使用例
nums = [1, 2, 3, 4, 5, 6]
#偶数の要素のインデックスを取得
result = [i for i in range(len(nums)) if nums[i] % 2 == 0]
print(result)
出力:
[1, 3, 5]
コメント