[Python]Array.arrayの要素のインデックスを条件で検索するには?

python

どうも、ちょげ(@chogetarou)です。

Array.arrayの要素のインデックス(index)を条件で検索する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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]

コメント

タイトルとURLをコピーしました