Pythonのリストから最大値を取得する方法|max()関数の使い方を解説
Pythonで最大値を見つけるには?
Pythonには、リストなどのイテラブル(反復可能なオブジェクト)の中から最大の数値を簡単に取り出すための組み込み関数 max() が用意されています。この関数は、カンマ区切りで渡した複数の数値、あるいはリスト・タプルなどのコレクションを引数に受け取ることができます。
基本的な使い方
まず、複数の数値を直接引数として渡す例を見てみましょう。
>>> max(10, 23, 43, 21) 43
このように、max() に数値をカンマ区切りで渡すと、その中で最も大きい値である 43 が返されます。
リストから最大値を取得する
次に、リストを引数として渡す例です。実際の開発では、こちらの使い方が最も一般的です。
>>> l1 = [4, 7, 2, 9, 1] >>> max(l1) 9
リスト l1 の中で最大の要素は 9 なので、max(l1) は 9 を返します。タプルやセットなど、他のイテラブルに対しても同様に動作します。
覚えておくと便利なポイント
- 最小値を求める場合: 対になる組み込み関数
min()を使えば、同じ書き方で最小値を取得できます。 - 空のリストに注意: 引数が空のシーケンスだと
ValueErrorが発生します。事前に要素が存在するか確認しておくと安全です。 - 文字列にも対応:
max()は数値だけでなく、文字列のリストにも使用でき、辞書順(五十音順・アルファベット順)で最大の要素を返します。
このように max() 関数を使えば、たった一行のコードでリスト内の最大値を取得できるため、条件分岐やループ処理を自前で書く必要がありません。データ分析や日常的なスクリプト作成において非常に頻繁に使われる基本関数なので、ぜひマスターしておきましょう。
-
Pythonで配列内の重複する数値を検出する方法(フロイドの循環検出アルゴリズム)
n + 1 個の整数を含む配列 nums があるとします。各要素は 1 から n の範囲に収まっており、鳩の巣原理により、少なくとも1つの重複した数値が必ず存在することが証明できます。ここでは重複している数値が1つだけであると仮定し、その重複要素を見つけることが課題となります。例えば、配列が [1,3,4,2,2] の場合、重複要素は 2 です。解決のための手順この問題は、フロイドの循環検出法(ウサギとカメのアルゴリズム)を応用することで、追加メモリ O(1) で効率的に解けます。手順は以下の通りです。a := nums[0]、b := nums[0] として初期化する無限ループを実行するa
-
Pythonでリスト内の最小値を見つける方法を解説
この記事では、リストの中から最小の数値を見つける方法について、具体的なサンプルコードとともに詳しく解説します。問題の概要問題: 数値のリストが与えられたとき、その中に含まれる最も小さい数値を画面に表示すること。この問題を解くアプローチは主に2つあります。ひとつは sort() メソッドを使ってリストを昇順に並べ替え、先頭の要素(インデックス0)を取得する方法。もうひとつは、Pythonに標準で用意されている組み込み関数 min() を使う方法です。それぞれ順番に見ていきましょう。方法1:sort()メソッドで並べ替えて最小値を取得するまずはリストを昇順にソートし、先頭の要素を取り出す方法です。