リストの要素同士を比較して大きいほう[小さいほう]の値だけでリストを作る
import numpy as np def array_max(a, b): a, b = np.asarray([a, b]) return a*(is_larger:=a>b) + b*(~is_larger) def array_min(a, b): a, b = np.asarray([a, b]) return a*(is_smaller:=a<b) + b*(~is_smaller) a = [ -9, 20, 30, 40] b = [-10, 21, 30, 41] print(array_max(a, b)) print(array_min(a, b)) # 組み込み函数があった。 print(np.maximum(a, b)) print(np.minimum(a, b))
可変長引数に拡張する。
import numpy as np def array_max(*lists): return np.amax([lists], axis=1)[0] def array_min(*lists): return np.amin([lists], axis=1)[0] a = [ -9, 20, 30, 40] b = [-10, 21, 30, 41] print(array_max(a, b)) print(array_min(a, b))