Python Day2 max(), min()

投稿者: | 2018年12月6日

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

以上!

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください