Pythonのリストから最小値の要素を取得する方法をわかりやすく解説
Pythonでリストの中から最小値を持つ要素を取得したい場合は、組み込み関数の min() を使います。min() 関数にリストを引数として渡すと、先頭から順に要素を走査し、それまでに見つかった最小値を記憶しながらリストの末尾まで進み、最終的にその最小値を返します。
基本的な使い方
まずは最もシンプルな例を見てみましょう。
my_list = [2, 3, 1, 5, -1] print(min(my_list))
実行結果
-1
このように、リスト内の最小値である -1 が出力されます。数値以外にも、文字列のリスト(辞書順で最小のもの)などにも同じように使えます。
最小値のインデックスも取得したい場合
最小値そのものだけでなく、「最小値がリストのどの位置(インデックス)にあるか」も知りたいケースがあります。特に、同じ最小値が複数箇所に出現する場合、そのすべての場所を特定するには enumerate() メソッドが便利です。
enumerate() は、各要素を「(インデックス, 要素)」という形式のタプルとして生成してくれるため、インデックスと値を同時に扱えます。
サンプルコード
my_list = [2, 3, 1, -4, -1, -4] m = min(my_list) print([i for i, j in enumerate(my_list) if j == m])
実行結果
[3, 5]
この例では、最小値 -4 がインデックス 3 と 5 の2箇所に出現しているため、両方の位置がリストとして出力されます。リスト内包表記と enumerate() を組み合わせることで、簡潔かつ読みやすいコードになっています。
まとめ
- リストの最小値を取得するには
min()関数を使う - 最小値の出現位置(インデックス)をすべて取得するには
enumerate()とリスト内包表記を組み合わせる
-
JavaScriptで配列の最小値を取得する2つの方法|Math.min()とsort()の使い方
Math.min()とsort()で配列の最小値を取得できるJavaScriptでは、Math.min()とsort()という2つの代表的な手法を使って、配列の中から最小値を簡単に見つけることができます。それぞれの使い方をサンプルコード付きで解説します。1) Math.min()を使う方法Math.min()関数は、引数として渡されたすべての値を調べ、その中で最も小さい値を返します。apply()メソッドと組み合わせることで、配列の全要素をまとめて渡し、最小値を求めることができます。以下の例で具体的な使い方を確認してみましょう。例<html> <body> <sc
-
Pythonで木の辺を1本取り除いたときの部分木のノード値合計の差の最小値を求めるプログラム
問題の概要ノードに1からnまでの番号が振られた木があるとします。各ノードには整数値が格納されています。ここで、木からある1本の辺を取り除くと、木は2つの部分木に分割されます。このとき、2つの部分木のノード値の合計の差が最小になるようにしたいと考えます。私たちのタスクは、その最小の差を求めて返すことです。木は辺のリストとして与えられ、各ノードの値も併せて提供されます。例として、n = 6、edge_list = [[1, 2], [1, 3], [2, 4], [3, 5], [3, 6]]、values = [15, 25, 15, 55, 15, 65] が入力された場合、出力は 0 になり