【完全版】Pythonのリストから最大値を取得する方法|実例付

※本サイトにはプロモーション・広告が含まれています。

(最終更新日:2023年6月)

✔このような方へ向けて書かれた記事となります

「Pythonで最大値を求める方法ってどんなものがあるのだろう?」
「Pythonで簡単に最大値を求めるコードが知りたい」
「Pythonを使った最大値取得の実例が見たい」

✔当記事を通じてお伝えすること

  • Pythonを使って最大値を求める基本
  • Pythonで最大値を求めるさまざまなコードやその応用
  • Pythonを使った最大値取得の実例

当記事では、Pythonを使って最大値を求める方法の基本から始め、さまざまなアプローチやオプションを活用した応用的な使い方まで、具体例を用いて詳しく解説しています。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間17万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Pythonで扱う最大値の基本

Pythonで最大値を扱うにあたっての基礎から学んでいきましょう。

  • max()関数とは
  • Pythonのリストについて

max()関数とは

max()関数は、Pythonに組み込まれた組み込み関数で、引数として渡されたデータの中から最大値を取得するものです。

例えば数値のリストがある場合、max()関数を使えば最大値を簡単に取得できます。

numbers = [4, 2, 9, 7, 5]
maximum = max(numbers)
print(maximum)  # 出力: 9

Pythonのリストについて

Pythonのリストは、複数の要素を順序付けて格納するデータ構造です。

リストには、数値や文字列など、異なるタイプの要素を含められます。

これはmax()関数を使う上で重要な概念となります。

リストから最大値を求める方法

リスト内の要素のタイプによって、最大値を求める方法が異なります。

  • 数値のリスト
  • 文字列のリスト
  • 数値と文字列が混在するリスト

数値のリスト

数値のリストから最大値を求めるのは非常に簡単です。

max()関数にリストを渡すだけで最大値を取得できます。

numbers = [10, 20, 30, 40, 50]
maximum = max(numbers)
print(maximum)  # 出力: 50

文字列のリスト

文字列のリストから最大値を求める場合、max()関数は辞書順で最も後ろの文字列を最大値として返します。

words = ["apple", "banana", "cherry"]
maximum = max(words)
print(maximum)  # 出力: cherry

数値と文字列が混在するリスト

数値と文字列が混在するリストから最大値を求めるときには注意が必要です。

max()関数は、数値と文字列が混在するリストでは、TypeErrorを返します

異なるデータ型は、比較できないのです。

mixed_list = [10, "apple", 20, "banana"]
# 以下のコードはエラーを引き起こします
maximum = max(mixed_list)

多次元リストの最大値

多次元リストに対しても最大値を求められます。

  • 2次元リスト
  • 3次元リスト

2次元リスト

2次元リストの場合、max()関数を使って全要素の中から最大値を見つけるには少し工夫が必要です。

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# リスト内包表記を使用
maximum = max(max(row) for row in matrix)
print(maximum)  # 出力: 9

3次元リスト

3次元リストも同様に、リスト内包表記を使って最大値を求めましょう。

cube = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
# ネストされたリスト内包表記を使用
maximum = max(max(max(inner) for inner in row) for row in cube)
print(maximum)  # 出力: 8

最大値の基準を設定する方法:key引数

max()関数では、比較の基準をカスタマイズできます。

key引数を使って、特定の属性に基づいて最大値を取得できるのです。

オブジェクトが格納されたリストなど、比較が複雑な場合に特に便利です。

students = [
    {"name": "Alice", "grade": 90},
    {"name": "Bob", "grade": 85},
    {"name": "Charlie", "grade": 95}
]

# 成績に基づいて最高の生徒を取得
top_student = max(students, key=lambda student: student["grade"])
print(top_student)  # 出力: {'name': 'Charlie', 'grade': 95}

この例では、key引数にラムダ関数を渡して成績を比較の基準にしています。

まとめ

当記事では、Pythonを使って最大値を求める方法の基本的な理解を深めました。

  • リストから最大値を求める方法
  • 多次元リストの最大値
  • 最大値の基準を設定する方法

Pythonのmax()関数を使うと、数値や文字列などさまざまなタイプのリストから、最大値を効率的に取得できます。

特に応用した使い方として、内包表記やKey引数を使う方法など、手を動かしながら学ぶのがおすすめです。

この知識を活用して、データ分析やプログラムの効率化に役立ててください。

タイトルとURLをコピーしました