[Python]Array.arrayのN番目に小さい値を取得するには?

python

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

Array.arrayでN番目の最小値を取得する方法を紹介します。

スポンサーリンク

方法

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

Array.arrayでN番目に小さい値を取得するには、インデックスを使います。

まず、対象のArray.arrayをSetに変換します。

sorted()を呼び出し、引数にSetを指定します。

そして、sorted()の結果のインデックス「N – 1」にアクセスします。

#arr=対象のArray.array
new_arr = set(arr)
result = sorted(new_arr)[N - 1] #N番目に小さい値を取得

上記のsorted()のインデックス「N – 1」にアクセスすることで、Array.arrayのN番目に小さい値を取得できます。

Array.arrayをSetに変換しないと、最小値を持つ要素が複数存在する場合に、N番目に小さい値を取得できません。

使用例

import array

nums = array.array('i', [10, 3, 5, 8, 1, 7, 2, 9])

#3番目に小さい値を取得
n = 3
new_nums = set(nums)
result = sorted(new_nums)[n - 1]

print(result)
出力:
3

コメント

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