abs
はnumpy配列では動作しますが、リストには作用しません。何故ですか?absのような組み込み関数がnumpy配列で動作するのはなぜですか?
import numpy as np
abs(np.array((1,-2)))
array([1, 2])
abs([1,-1])
TypeError: bad operand type for abs(): 'list'
sum
などの組み込み関数もnumpy配列で動作します。 numpyの配列が__getitem__
をサポートしているからでしょうか?しかし、abs
の場合、それは__getitem__
に依存していればそれもリストのために働くはずですが、そうではありません。