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

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