Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリスト内の最小値を見つける方法を解説

この記事では、リストの中から最小の数値を見つける方法について、具体的なサンプルコードとともに詳しく解説します。

問題の概要

問題: 数値のリストが与えられたとき、その中に含まれる最も小さい数値を画面に表示すること。

この問題を解くアプローチは主に2つあります。ひとつは sort() メソッドを使ってリストを昇順に並べ替え、先頭の要素(インデックス0)を取得する方法。もうひとつは、Pythonに標準で用意されている組み込み関数 min() を使う方法です。それぞれ順番に見ていきましょう。

方法1:sort()メソッドで並べ替えて最小値を取得する

まずはリストを昇順にソートし、先頭の要素を取り出す方法です。リストを並べ替えると最初の要素が必ず最小値になることを利用しています。

サンプルコード

list1 = [101, 120, 104, 145, 99]
# 組み込み関数でソート
list1.sort()
print("最小値は:", list1[0])

実行結果

最小値は: 99

このコードでは、変数 list1 はローカルスコープ内で宣言されており、sort() の呼び出し後にリスト自体が昇順に並べ替えられます。そのため list1[0] を参照すると、リスト内で最も小さい値である 99 が取得できます。

なお注意点として、sort() は元のリストを直接書き換える破壊的な操作です。元の順序を保持したい場合は、後述の min() を使う方法がおすすめです。

方法2:min()関数で最小値を取得する

次に、よりシンプルで推奨される方法として、組み込み関数 min() を使う例を紹介します。この関数は引数として渡したリスト(イテラブル)の中から最小の要素を返します。

サンプルコード

list1 = [101, 120, 104, 145, 99]
# 組み込み関数 min() を使用
print("最小値は:", min(list1))

実行結果

最小値は: 99

ここでも変数はローカルスコープ内で宣言されています。min(list1) はリスト全体を一度走査して最小値を返すため、元のリストの順序は変更されません。また、ソート処理(O(n log n))と比べて計算量が O(n) で済むため、単に最小値だけが必要な場合は効率的です。

まとめ

この記事では、Pythonでリスト内の最小値を見つける2つの方法を学びました。

  • sort()を使う方法: リストを並べ替えてから先頭要素を参照する。元のリストの順序が変わる点に注意。
  • min()を使う方法: 1行で最小値を取得でき、元のリストを変更しないため簡潔で安全。

実務では、可読性と効率の面から min() 関数を使う方法が一般的に推奨されます。状況に応じて使い分けてみてください。

  1. Pythonでリスト内の最小値を見つける方法を解説

    この記事では、リストの中から最小の数値を見つける方法について、具体的なサンプルコードとともに詳しく解説します。問題の概要問題: 数値のリストが与えられたとき、その中に含まれる最も小さい数値を画面に表示すること。この問題を解くアプローチは主に2つあります。ひとつは sort() メソッドを使ってリストを昇順に並べ替え、先頭の要素(インデックス0)を取得する方法。もうひとつは、Pythonに標準で用意されている組み込み関数 min() を使う方法です。それぞれ順番に見ていきましょう。方法1:sort()メソッドで並べ替えて最小値を取得するまずはリストを昇順にソートし、先頭の要素を取り出す方法です。

  2. Pythonでリスト内の最大値を見つける方法|sort()とmax()の2つのアプローチ

    この記事では、リストの中から最大の数値を見つけるための解決策とアプローチについて詳しく解説します。問題の概要数値のリストが与えられたとき、その中から最大の要素を見つけ出す必要があります。Pythonでは、主に以下の2つの方法でこれを実現できます。ソート(並べ替え)を利用する方法組み込み関数 max() を利用する方法アプローチ1:sort() 関数を使う方法リストを sort() メソッドで昇順に並べ替えると、リストの最後の要素(インデックス -1)が必ず最大値になります。サンプルコードlist1 = [18, 65, 78, 89, 90] list1.sort() # メイン処理 prin