max()【最大値】・min()【最小値】
abs()【絶対値】
round()【丸め】3.0
divmod()【商・剰余】
pow()【べき乗・剰余 (xy % z)】
sum()【合計】

max()【最大値】・min()【最小値】

メモ

構文

max(対象オブジェクト[, key=順序関数 ][, default=デフォルト値] )
max(要素1, 要素2[, ... 要素n] [, key=順序関数] )

戻り値最大値
対象オブジェクトイテラブル オブジェクト
要素n対象要素 (2個以上)
順序関数引数が1つで、戻り値が比較キー
デフォルト値対象オブジェクトが空の場合の返却値 (未指定:ValueError 例外)

min(対象オブジェクト[, key=順序関数 ][, default=デフォルト値] )
min(要素1, 要素2[, ... 要素n] [, key=順序関数] )

戻り値最小値
対象オブジェクトイテラブル オブジェクト
要素n対象要素 (2個以上)
順序関数引数が1つで、戻り値が比較キー
デフォルト値対象オブジェクトが空の場合の返却値 (未指定:ValueError 例外)

lst = [1, -3, 5, -7, 9]
print(max(lst), min(lst))

print(max(2, 4, 6), min(2, 4, 6))

tpl = (3, -6, 9, -12, 15)
print(max(tpl), min(tpl))

dic = {"A":3, "B":2, "C":1}
print(max(dic), min(dic))
【出力例】
9 -7
6 2
15 -12
C A
# 順序関数 (1/2)
def func_abs(n):
    return abs(n)  # 絶対値で比較

lst = [1, -3, 5, -7, 9]
max_abs = max(lst, key=func_abs)
min_abs = min(lst, key=func_abs)
print(max_abs, min_abs)

max_abs = max(2, -4, 6, -8, 10, key=func_abs)
min_abs = min(2, -4, 6, -8, 10, key=func_abs)
print(max_abs, min_abs)
【出力例】
9 1
10 2
# 順序関数 (2/2)
def func_dict(k):  # k:キー
    return dic[k]  # 値で比較

dic = {"MaxZ":9, "MaxA":9, "MinZ":1, "MinA":1}
max_dict = max(dic, key=func_dict)  # 先に現れた要素
min_dict = min(dic, key=func_dict)  # 先に現れた要素
print(max_dict, min_dict)
【出力例】
MaxZ MinZ
# 空のオブジェクト
list_empty = []
max_empty = max(list_empty, default=99)
min_empty = min(list_empty, default=-99)
print(max_empty, min_empty)
【出力例】
99 -99

abs()【絶対値】

メモ

構文

abs(対象値)

戻り値絶対値
対象値数値型

data = [1, 1.1, -2, -2.2]
for x in data:
    print(abs(x))
【出力例】
1
1.1
2
2.2

round()【丸め】3.0

メモ

構文

round(対象値[, 小数部の桁数])

戻り値丸め値
対象値整数・浮動小数点数
小数部の桁数整数値 (省略:整数値へ丸め / 0≦:小数部を丸め / <0:整数部を丸め)

# 偶数値を優先
data = [-1.5, -0.5, 0.5, 1.5, 2.5]
for x in data:
    print(round(x))
【出力例】
-2
0
0
2
2
# 浮動小数点数の不正確性 (2.675 -> 2.67)
data = [0.674, 0.675, 0.676, 2.674, 2.675, 2.676]
for x in data:
    print(round(x, 2))
【出力例】
0.67
0.68
0.68
2.67
2.67
2.68
# 小数部の桁数
x = 123.456
print(round(x, 2))
print(round(x, 1))
print(round(x, 0))
print(round(x, -1))
print(round(x, -2))
【出力例】
123.46
123.5
123.0
120.0
100.0
# 誤差検証
# 0.0 + 0.1 + ... + 9.8 + 9.9
sum1 = 0  # そのまま合計
sum2 = 0  # 丸めて合計
sum3 = 0  # 四捨五入して合計
for n in range(100):
    x = n / 10
    sum1 += x
    x2 = round(x)
    sum2 += x2
    if (n % 5) == 0:
        x3 = round((x + 0.01))
    else:
        x3 = round(x)
    sum3 += x3
    print(x, x2, x3)
    
print(sum1, sum2, sum3)
【出力例】
0.0 0 0
0.1 0 0
0.2 0 0
0.3 0 0
0.4 0 0
0.5 0 1
0.6 1 1
0.7 1 1
0.8 1 1
0.9 1 1
1.0 1 1
1.1 1 1
1.2 1 1
1.3 1 1
1.4 1 1
1.5 2 2
1.6 2 2
1.7 2 2
1.8 2 2
1.9 2 2

(省略)

8.0 8 8
8.1 8 8
8.2 8 8
8.3 8 8
8.4 8 8
8.5 8 9
8.6 9 9
8.7 9 9
8.8 9 9
8.9 9 9
9.0 9 9
9.1 9 9
9.2 9 9
9.3 9 9
9.4 9 9
9.5 10 10
9.6 10 10
9.7 10 10
9.8 10 10
9.9 10 10
495.0 495 500

divmod()【商・剰余】

メモ

構文

divmod(被除数, 除数)

戻り値商と剰余の対
被除数整数・浮動小数点数
除数整数・浮動小数点数

a = 7
b = 3
print(divmod(a, b))
div, mod = divmod(a, b)
print(div, mod)
print((a // b), (a % b))

print(divmod(7.7, 3.3))
【出力例】
(2, 1)
2 1
2 1
(2.0, 1.1000000000000005)

pow()【べき乗・剰余 (xy % z)】

メモ

構文

pow(, べき指数[,除数])

戻り値べき乗 (xy) または べき乗の剰余 (xy % z)
除数指定の場合は整数 (数値型)
べき指数除数指定の場合は非負整数 (数値型)
除数べき指数が負の場合は指定不可 (数値型)

x = 2
y = 3
z = 4
print(pow(x, y))
print(pow(x, y, z))

print(pow(5, -1))
print(pow(5, 0))

print(pow(1.5, 0.5))
【出力例】
8
0
0.2
1
1.224744871391589

sum()【合計】

メモ

構文

sum(対象オブジェクト[, 初期値] )

戻り値合計値等
対象オブジェクトイテラブル オブジェクト
初期値文字列は不可 (デフォルト:0)

data1 = [1, 2, 3]
print(sum(data1))
print(sum(data1, 10))

data2 = [1.1, 2.2, 3.3]
print(sum(data2))

# 非推奨
data3 = [[1, 2], [3, 4]]
print(sum(data3, []))
【出力例】
6
16
6.6
[1, 2, 3, 4]