【Python】max()でオブジェクト内の最大値を取得する!
Pythonのmax()を使用すると、オブジェクト内の最大値を取得することができます。
max()とは指定したオブジェクト内の最大のものを返す関数であり、リストやタプルなどのイテレータ内の要素や、文字列内の文字の最大値を取得する際に使用します。
また、max()のパラメータである基準キーを指定すると、最大の基準を変更して最大値を取得することができます。
今回はPythonのmax()でオブジェクト内の最大値を取得する方法について以下の内容で解説していきます。
⚫︎ イテレータから最大値を取得する場合
⚫︎ 文字列の文字から最大値を取得する場合
⚫︎ 重複する最大値を取得する場合
⚫︎ 最大の基準を要素の長さに設定する場合
⚫︎ 最大の基準を絶対値に設定する場合
⚫︎ 最大の基準を文字コードに設定する場合
⚫︎ 最大の基準を数値に設定する場合
目次
max()とは
max()とは、指定したいオブジェクトの最大値を返す関数となります。
max()の書き方
max()の書き方は下記となります。
1 |
max(オブジェクト, [key= 基準のキー]) |
max()のパラメータ
⚫︎ オブジェクト:
最大値を取得したいオブジェクトを指定する
⚫︎ 基準のキー:
最大値の基準のキーを関数で指定する
max()のパラメータにオブジェクトを指定することで、指定したオブジェクト内の最大値を返します。
また、基準のキーも指定すると、最大の基準を変更して最大値を返すようになります。
オブジェクト内の最大値を取得するサンプルコード
オブジェクト内の最大値を取得するサンプルコードを紹介します。
イテレータから最大値を取得する場合
リストやタプルなどのようなイテレータ内の要素から最大値を取得してみます。
まずは、リスト内の要素から最大値の取得を行ってみます。
リストの場合
1 2 3 4 5 6 7 8 9 10 |
sample_list1 = [12, 23, 57, 78, 69, 62, 100, 47] print(sample_list1) sample_list2 = ['要素1', '要素2', '要素3', '要素4','要素5', '要素6'] print(sample_list2) print('・max()でリスト内の要素の最大値を取得する') sample_list1_max = max(sample_list1) sample_list2_max = max(sample_list2) print(sample_list1_max) print(sample_list2_max) |
出力結果
[12, 23, 57, 78, 69, 62, 100, 47]
[‘要素1’, ‘要素2’, ‘要素3’, ‘要素4’, ‘要素5’, ‘要素6’]
・max()でリスト内の要素の最大値を取得する
100
要素6
max()によってリスト内の要素の最大値を取得しています。
また、要素が数値の場合は数値が一番大きい要素を取得していますが、要素が文字列の場合は、文字をユニコードに直した時の一番大きい値を返すようになります。
もし、max()でリスト内の要素から最大値を取得する方法について詳しく知りたい場合はこちらをご参考ください。
続いてタプル内の要素から最大値を取得してみます。
タプルの場合
1 2 3 4 5 6 |
sample_tuple = (12, 235, 57, 78, 69, 62, 1004, 47) print(sample_tuple) print('・max()でリスト内の要素の最大値を取得する') sample_tuple_max = max(sample_tuple) print(sample_tuple_max) |
出力結果
(12, 235, 57, 78, 69, 62, 1004, 47)
・max()でリスト内の要素の最大値を取得する
1004
max()によってタプル内の要素の最大値を取得しています。
続いて辞書内のキーや値から最大値を取得してみます。
辞書の場合
1 2 3 4 5 6 7 8 9 10 11 12 |
sample_dict = {1:'value12', 2: 'value22', 3:'value13', 4:'value99', 5: 'value15', 6: 'value66'} print(sample_dict) print('・max()で辞書のキーの最大値を取得する') sample_dictKeys_max = max(sample_dict.keys()) print(sample_dictKeys_max) print('・max()で辞書の値の最大値を取得する') sample_dictValues_max = max(sample_dict.values()) print(sample_dictValues_max) print('・max()で辞書のキーと値の最大値を取得する') sample_dictItems_max = max(sample_dict.items()) print(sample_dictItems_max) |
出力結果
{1: ‘value12’, 2: ‘value22’, 3: ‘value13’, 4: ‘value99’, 5: ‘value15’, 6: ‘value66’}
・max()で辞書のキーの最大値を取得する
6
・max()で辞書の値の最大値を取得する
value99
・max()で辞書のキーと値の最大値を取得する
(6, ‘value66’)
max()によって辞書内のキーや値の最大値を取得しています。
keys()やvalues()に対してmax()を使用すると最大値を取得しますが、items()に対してmax()を使用するとキーが最大値であるキーと値のセットを取得するようになります。
最後にset型内の値の最大値を取得してみます。
set型の場合
1 2 3 4 5 6 |
sample_set = {120000, 5623, -57, 78, 69, 634, 100, 6747} print(sample_set) print('・max()でset型の値の最大値を取得する') sample_set_max = max(sample_set) print(sample_set_max) |
出力結果
{120000, 100, 69, -57, 78, 5623, 634, 6747}
・max()でset型の値の最大値を取得する
120000
max()によってset型内の値の最大値を取得しています。
文字列の文字から最大値を取得する場合
max()で文字列の文字から最大値の取得を行ってみます。
例
1 2 3 4 5 6 |
sample_str = 'この文字の中から最大値を取得する' print(sample_str) print('・max()で文字列の文字の最大値を取得する') sample_str_max = max(sample_str) print(sample_str_max) |
出力結果
この文字の中から最大値を取得する
・max()で文字列の文字の最大値を取得する
最
max()によって文字列の文字から最大値を取得しています。
ここでいう、「文字の最大値」というのも、文字をユニコードに直した時の一番大きい値を返すようになります。
最大値が重複している場合
最大値が重複している場合、max()は最初に現れたものを返すようになります。
例
1 2 3 4 5 6 7 |
sample_list = [12, 45667, 567, 678, 6789, 6782, 100, 45667] print(sample_list) print('・max()で最大値が重複している値を取得する') sample_list_max = max(sample_list) sample_list_max_idex = sample_list.index(max(sample_list)) print(sample_list_max, sample_list_max_idex) |
出力結果
[12, 45667, 567, 678, 6789, 6782, 100, 45667]
・max()で最大値が重複している値を取得する
45567 1
要素内の最大値は「45667」であり、index()によって要素のインデックスを取得した結果、「1(2番目)」を取得しています。
最大の基準を変更して最大値を取得する方法
先ほどまでは、max()で数値の最大値や文字の最大値を取得していましたが、パラメーターである基準のキーを指定することで、最大の基準を変更して最大値を取得することができます。
最大の基準を値の長さに設定する場合
最大の基準を値の長さに設定する場合はmax()のパラメータである基準のキーにlenを指定します。
例
1 2 3 4 5 6 |
sample_list = ['134', '245667', '45673', '598s33444','234565', '78947r7'] print(sample_list) print('・max()で最大の基準を要素の長さに設定する') sample_list_max = max(sample_list, key = len) print(sample_list_max) |
出力結果
[‘134’, ‘245667’, ‘45673’, ‘598s33444’, ‘234565’, ‘78947r7’]
・max()で最大の基準を値の長さに設定する
598s33444
max()の基準のキーにlenを指定することで、長さが最大値である値を返しています。
最大の基準を絶対値に設定する場合
最大の基準を絶対値に設定する場合はmax()のパラメータである基準のキーにabsを指定します。
例
1 2 3 4 5 6 |
sample_list = [134, 245667, 45674, 59833444,234565, -4444447894] print(sample_list) print('・max()で最大の基準を絶対値の大きさに設定する') sample_list_max = max(sample_list, key = abs) print(sample_list_max) |
出力結果
[134, 245667, 45674, 59833444, 234565, -4444447894]
・max()で最大の基準を要素の長さに設定する
-4444447894
max()の基準のキーにabsを指定することで、絶対値が最大値である要素を返しています。
最大の基準を文字コードに設定する場合
最大の基準を絶対値に設定する場合はmax()のパラメータである基準のキーにstr指定します。
例
1 2 3 4 5 6 |
sample_list = ['134', 245667, 45674, 59833444,234565, -4444447894, '4565757575757575757'] print(sample_list) print('・max()で最大の基準を文字コードに設定する') sample_list_max = max(sample_list, key = str) print(sample_list_max) |
出力結果
[134, 245667, 45674, 59833444, 234565, -4444447894, ‘4565757575757575757’]
・max()で最大の基準を文字コードに設定する
59833444
max()の基準のキーにstrを指定することで、文字コードが最大値である要素を返しています。
最大の基準を数値に設定する場合
最大の基準を数値に設定する場合はmax()のパラメータである基準のキーにintを指定します。
例
1 2 3 4 5 6 |
sample_list = ['134', '245667', '456747', '59833444', '234565', '-4444447894', '74565757575757575757'] print(sample_list) print('・max()で最大の基準を数値に設定する') sample_list_max = max(sample_list, key = int) print(sample_list_max) |
出力結果
[‘134’, ‘245667’, ‘456747’, ‘59833444’, ‘234565’, ‘-4444447894’, ‘74565757575757575757’]
・max()で最大の基準を数値に設定する
74565757575757575757
max()の基準のキーにintを指定することで、数値が最大値である要素を返しています。
今回のポイント
max()でオブジェクト内の最大値を取得
⚫︎ max()はオブジェクト内の最大値を返す関数である
⚫︎ max()はリストやタプルなどのイテレータ内から最大値を取得することができる
⚫︎ max()は文字列内から最大値を取得することもできる
⚫︎ 重複する最大値を取得する場合、max()は最初に現れたものを返す
⚫︎ 最大の基準を要素の長さに設定する場合はmax()のパラメータである基準のキーにlenを指定する
⚫︎ 最大の基準を絶対値に設定する場合はmax()のパラメータである基準のキーにabsを指定する
⚫︎ 最大の基準を文字コードに設定する場合はmax()のパラメータである基準のキーにstrを指定する
⚫︎ 最大の基準を数値に設定する場合はmax()のパラメータである基準のキーにintを指定する
関連記事
Pythonのmin()でオブジェクト内の最小値を取得する方法についてはこちらをご参考ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。