【Python】max()でリスト(List)の要素から最大値を取得する!

Pythonのリスト(List)にmax()を使用するとリストの要素から最大値を取得することができます。

リストの要素が数値である場合は一番大きい数値の要素を返すようになり、要素が文字列である場合は一番大きいユニコードを含む文字の要素を返すようになります。

しかし、要素が数値と文字列である場合に最大値を取得しようとするとエラーが発生します。

また、max()は、2次元や3次元などのような多次元のリストにも使用することができますが、多次元の要素の最大値を取得する場合、先頭が最大値である要素を返すようになりますのでリストの後ろに次元に合わせたインデックスを指定するようにしましょう。

今回はPythonのmax()でリスト(List)の要素から最大値を取得する方法について以下の内容で解説していきます。

⚫︎ リストの要素が数値である場合
⚫︎ リストの要素が文字列である場合
⚫︎ リストの要素が数値と文字列である場合

⚫︎ 2次元リストの最大値を取得する場合
⚫︎ 3次元リストの最大値を取得する場合

⚫︎ 最大の基準を変更して最大値を取得する方法

max()とは

max()とは、指定したいオブジェクトの最大値を返す関数となります。

ここでは詳しく説明しませんが、もしmax()について詳しく知りたい場合はこちらをご参考ください。

リスト(List)とは

リスト(List)とは、整数、浮動小数点数、文字列などのデータを複数同時に格納することができるミュータブルな型になります。

ここでは詳しく説明しませんが、もしリスト(List)について詳しく知りたい場合はこちらをご参考ください。

リスト(List)の要素から最大値を取得するサンプルコード

リスト(List)の要素から最大値を取得するサンプルコードを紹介します。

リストの要素が数値である場合

リストの要素が数値である場合に最大値の取得を行ってみます。

出力結果

[1223, 2344, 5567, 76788, 600000000, 62890, 105670, 47546]

・リストの要素が数値である場合
600000000

リストの要素が数値である場合、max()は数値が一番大きい要素を返しています。

リストの要素が文字列である場合

リストの要素が文字列である場合に最大値の取得を行ってみます。

出力結果

[‘哀哀父母’, ‘相碁井目’, ‘鴉巣生鳳’, ‘青息吐息’, ‘啞然失笑’, ‘安寧秩序’]

・リストの要素が文字列である場合
鴉巣生鳳

リストの要素が文字列である場合、max()は一番大きいユニコードを含む文字の要素を返しています。

リストの要素が数値と文字列である場合

リストの要素が数値と文字列である場合にmax()を使用するとエラーが発生します。

出力結果

TypeError: ‘>’ not supported between instances of ‘int’ and ‘str’

リストの要素は文字列や数値を格納することができますが、max()は文字列と数値があるとどちらを基準に最大値を返せば良いの分からなくなる為、エラーが発生しています。

多次元のリスト(List)の要素から最大値を取得するサンプルコード

2次元や3次元の多次元のリスト(List)の要素から最大値を取得するサンプルコードを紹介します。

2次元リストの最大値を取得する場合

2次元リストの要素から最大値の取得を行ってみます。

出力結果

[[134, 245667, 45673], [59833444, 234565, 789477], [544, 23, 747333333337]]

・2次元リストの最大値を取得する
[59833444, 234565, 789477]
・2次元リスト内の1次元リストの最大値を取得する
747333333337

2次元リストにmax()を指定すると、先頭が最大値である2次元リストの要素を取得することができ、リストの後ろにインデックスを指定すると、2次元リスト内の1次元リストの最大値の要素を取得することができます。

3次元リストの最大値を取得する場合

3次元リストの要素から最大値の取得を行ってみます。

出力結果

[[[134, 245667, 45673], [59833444, 234565, 789477], [544, 23, 747333333337]], [[12, 2467, 4578673], [5444, 4565, 77], [367, 98, 33333333]], [[1334, 12667, 453], [59834, 2365, 7477], [14, 55, 766667]]]

・3次元リストの最大値を取得する
[[1334, 12667, 453], [59834, 2365, 7477], [14, 55, 766667]]

・3次元リスト内の2次元リスト最大値を取得する
[5444, 4565, 77]

・3次元リスト内の1次元リスト最大値を取得する
766667

3次元リストにmax()を指定すると、先頭が最大値である3次元リストの最大値を取得することができ、リストの後ろにインデックスを1つ指定すると、先頭が最大値である3次元リスト内の2次元リストの要素を取得することができ、インデックスを2つ指定すると、3次元リスト内の1次元リストの最大値の要素を取得することができます。

最大の基準を設定して要素から最大値を取得する方法

最大の基準を設定して要素から最大値を取得するには、max()のパラメータであるkeyを指定します。

出力結果

[‘いいいいい’, ‘ああああああああああああああ’, ‘おおおおおおおおお’, ‘えええええ’]

・最大の基準を設定して要素から最大値を取得する
ああああああああああああああ

max()のパラメータのkeyを指定することで、最大の基準を設定して要素から最大値を取得することができます。

今回は、keyにlenを指定したことから、文字の長さ(文字数)が一番多い要素である「ああああああああああああああ」が返されています。

今回のポイント

max()でリスト(List)の要素から最大値を取得

⚫︎ リストの要素が文字列である場合、max()は一番大きいユニコードを含む文字の要素を返す

⚫︎ リストの要素が数値である場合、max()は数値が一番大きい要素を返す

⚫︎ リストの要素が数値と文字列である場合にmax()を使用するとエラーが発生する

⚫︎ max()は2次元や3次元のような多次元リストにも使用することができる

⚫︎ 最大の基準を設定して要素から最大値を取得するには、max()のパラメータであるkeyを指定する

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報