max() Python 組み込み関数

組み込み関数 max()

max()
iterableの中で最大の要素、または2つ以上の引数の中で最大のものを返します。
位置引数が1つだけ与えられた場合は、それは空でない、iterableである必要があります。

そのiterableの最大の要素が返されます。2 つ以上のキーワード無しの位置引数が与えられた場合は、その位置引数の中で最大のものが返されます。

任意のキーワード専用引数が2つあります。
key引数は引数を1つ取る順序関数(list.sort()のもののように) を指定します。

default 引数は与えられたイテラブルが空の場合に返すオブジェクトを指定します。
イテラブルが空で、defaultが与えられていない場合は、ValueErrorが送出されます。

最大の要素が複数あるときは、この関数は、最初に現れたものを返します。
これは、sorted(iterable, key=keyfunc, reverse=True)[0]や、heapq.nlargest(1, iterable, key=keyfunc)のような、他のソート安定性を維持するツールと両立します。

maxの引数にリストを指定して実行します。
数値では最大値の数値を返し、アルファベットの文字列のリストがある場合、小文字の「z」が最大値となります。

アルファベットの場合は、降順のため、zが最大となり、大文字より小文字の方が大きいと見なされます。
最大値の判定は先頭から1文字ずつ行われるため、同じ文字でも先頭に小文字がくる場合は、大きいと見なされることになります。
ひらがなの場合も同様で降順です。

また、値に対して最大値を取得する場合は、valuesメソッドを引数に追加するようにします。

バージョン 3.4 で追加: defaultキーワード専用引数。
バージョン 3.8 で変更: key引数がNoneであることを許容します。

使用例

a = max(6, 1, 8, 2)
print(a)
# 実行結果 8

b = max([8, 1, 9, 2])
print(b)
# 実行結果 9

l = [range(2), range(3), range(1)]
c = max(l, key=lambda li: li.stop)
print(c)
# 実行結果 range(0, 3)
よかったらシェアしてください!
目次