どうも、ちょげ(@chogetarou)です。
リスト(List)の2番目の最小値を取得する方法を紹介します。
方法
リスト(List)の2番目に小さい値を取得する方法は、2つあります。
sorted()
ひとつは、sorted()を使う方法です。
まず、対象のリストをSetに変換します。
sorted()を呼び出し、引数にSetを指定します。
そして、sorted()の結果のインデックス「1」にアクセスします。
#ls=対象のリスト
new_ls = set(ls)
result = sorted(new_ls)[1] #2番目に小さい値を取得
上記のsorted()のインデックス「1」にアクセスすることで、リストの2番目に小さい値を取得できます。
使用例
nums = [10, 3, 5, 8, 4]
new_ls = set(nums)
result = sorted(nums)[1]
print(result)
出力:
4
min()
もうひとつは、min()を使う方法です。
まず、対象のリストから新しいSetを生成します。
次に、Setからremove()を呼び出します。
remove()の引数でmin()を呼び出し、min()の引数にSetを指定します。
そして、min()を呼び出し、引数にSetを指定します。
#ls=対象のリスト
new_ls = set(ls)
new_ls.remove(min(new_ls))
result = min(new_ls) #2番目に小さい値を取得
上記のmin()は、リストの2番目に小さい値を取得します。
使用例
nums = [10, 3, 5, 8, 4]
new_nums = set(nums)
new_nums.remove(min(new_nums))
result = min(new_nums)
print(result)
出力:
4
まとめ
リスト(List)の2番目に小さい値を取得する方法は、次の2つです。
- sorted()を使う方法
new_ls = set(ls)
result = sorted(ls)[1]
- min()を使う方法
new_ls = set(ls)
new_ls.remove(min(new_ls))
result = min(new_ls)
コメント