今回はリストの最大値・最小値を取得する方法としてmax() と min() を学習しました。
これまで合計を求める sum() を学習しましたが、
数値データを扱う上では
「一番大きい値」「一番小さい値」も非常によく使います。
Udemy の演習問題を通して、
その基本的な使い方と考え方を整理しました。

■ Udemy 演習問題(最大値)
問題
List の最大値を print してください。
List = [35, 7, 26, 59, 55, 73, 90, 24, 13, 28, 20, 71, 8, 89, 81, 97, 39, 66, 42, 57]
■ 解答コード(max() を使う)
print(max(List))
実行結果
97
リストの中で
一番大きい数値がそのまま取得されていることが分かります。
■ 別解(sorted() を使う場合)
List = [35, 7, 26, 59, 55, 73, 90, 24, 13, 28, 20, 71, 8, 89, 81, 97, 39, 66, 42, 57]
print(sorted(List)[-1])
実行結果
97
sorted(List) は
小さい順(昇順)に並び替えられるため、
- 一番最後の要素
[-1]
= 最大値
という考え方です。
■ なぜ max() を使うのか
sorted() を使っても最大値は求められますが、
- 並び替えの処理が入る
- 最大値を取りたい意図が分かりにくい
という点があります。
max(List)
と書いた方が、
「最大値を取得したい」意図が一目で分かると感じました。
■ Udemy 演習問題(最小値)
問題
List の最小値を print してください。
■ 解答コード(min() を使う)
List = [35, 7, 26, 59, 55, 73, 90, 24, 13, 28, 20, 71, 8, 89, 81, 97, 39, 66, 42, 57]
print(min(List))
実行結果
7
こちらも
一番小さい数値がそのまま取得されています。
■ max() / min() の正体を整理する
max():リストの中で一番大きい値を返すmin():リストの中で一番小さい値を返す
どちらも
for 文で1つずつ比較している処理を
内部でまとめて行ってくれている関数
と考えると理解しやすくなりました。
■ 今日のまとめ
max()は最大値を取得するmin()は最小値を取得するsorted()でも代用できるが意図が分かりにくい- 「何をしたいか」が伝わる書き方が大切
数値データを扱う上で、
とても基本で重要な関数だと感じました。
🔜 次のステップ(#14)
合計・最大・最小が分かるようになると、
次は 平均値 を求めたくなります。
次回は
平均値(mean)をテーマに学習する予定です。


コメント