maxとmin関数について、渡した値やリストやタプルなどの中から、最大値と最小値を取得できる。
print(max(1, 2)) 2 print(min(1, 2)) 1
複数渡すと複数の中から選ばれる。
print(max(1, 2, 10, 100)) 100
リスト渡すこともできる。
numbers = [1, 2, 3, 2, 100, 13] print(max(numbers)) 100
文字列を渡すと・・・
print(max("Z", "U", "A")) Z
文字の場合はアルファベット順になるため、最大値は”Z”になる。
key引数
max()やmin()には、キーワード引数として、keyを渡すことができる。
順序づけの関数を指定できる。
例えば、
def _key(n): return int(n) _list = [1, 2, 3, "2", "111"] print(max(_list, key=_key)) print(min(_list, key=_key)) 111 1
このように、数値と文字列が混ざっているリストから、maxやminを取得することができるようになる。
リストの中の要素は_key関数のnに渡して、int型になる。リストの要素をすべてint型に変換してから、maxとminを求めている。
lambda式も使える。こちらのほうがスマート。
_list = [1, 2, 3, "2", "111"] print(max(_list, key=lambda n: int(n))) print(min(_list, key=lambda n: int(n))) 111 1