組み込み関数maxでイテラブルオブジェクトの最大の要素、minでイテラブルオブジェクトの最小の要素が求められる。
1. max,minの書式
max,minの書式は以下の通り。
イテラブルオブジェクトiterableまたは2つ以上の要素argから最大値、最小値を求める。キーワード引数keyには要素に対する処理の関数を記述する。defaultは要素が空の場合に返す値を記述する。
max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) min(iterable, *[, key, default]) min(arg1, arg2, *args[, key])
リストxの中から最大値を求める場合。
x = [-1, -0.5, 1, 2, 3] print(max(x))
実行結果
3
リストxの中から最小値を求める場合。
x = [-1, -0.5, 1, 2, 3] print(min(x))
実行結果
-1
keyに関数1/xを指定し、その結果の大小に応じて最大値を求める場合。
1/xの値は要素が1の場合に最も大きくなるため1が求まる。
x = [-1, -0.5, 1, 2, 3] print(max(x, key=lambda x: 1/x))
実行結果
1
keyに関数1/xを指定し、その結果の大小に応じて最小値を求める場合。
1/xの値は要素が-0.5の場合に最も小さくなるため-0.5が求まる。
x = [-1, -0.5, 1, 2, 3] print(min(x, key=lambda x: 1/x))
実行結果
-0.5
要素が空の場合にmax,minを求めるとエラーとなる。
x = [] print(max(x))
実行結果
ValueError: max() arg is an empty sequence
defaultを指定すれば要素が空の場合にもエラーとならず、設定した値が返される。
x = [] print(max(x, default=0))
実行結果
0
2. 要素が文字列の場合
要素が文字列の場合にmax,minを求めると、その文字のユニコードポイントに応じて最大値、最小値が決まる。
x = ['a', '1', '+'] print(min(x), max(x))
実行結果
+ a
上の例でユニコードポイントが最も小さいのは'+'、最も大きいのは'a'。
print(ord('a'), ord('1'), ord('+'))
実行結果
97 49 43
3. リファレンス
Python 標準ライブラリ > 組み込み関数 > max(iterable, *[, key, default])
Python 標準ライブラリ > 組み込み関数 > min(iterable, *[, key, default])
使用したバージョン:Python 3.8.8
0 件のコメント:
コメントを投稿