[Python]リストのN番目に小さい値を取得するには?

python

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

リスト(List)でN番目の最小値を取得する方法を紹介します。

スポンサーリンク

方法

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

リスト(List)でN番目に小さい値を取得するには、インデックスを使います。

まず、対象のリストをSetに変換します。

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

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

#ls=対象のリスト
new_ls = set(ls)
result = sorted(new_ls)[N - 1] #N番目に小さい値を取得

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

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

使用例

nums = [10, 3, 5, 8, 1, 7, 2, 9]

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

print(result)
出力:
3

コメント

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