Python内置了sum()函数和numpy数组

cotxawn7  于 12个月前  发布在  Python
关注(0)|答案(1)|浏览(79)

我试图理解sum函数如何能够在不使用numpy中的np.sum函数的情况下添加numpy数组。代码如下:
输入

a = [np.array([1, 2]), np.array([3, 4])]
sum(a)

输出量:

array([4, 6])

python中内置的sum函数接受一个iterable并从左到右对值求和。我假设内置的sum使用每个对象的dunder add特殊方法,例如int,将每个项加在一起。所以我认为唯一可行的方法是np.array对象覆盖dunder add特殊方法,以便能够对数组使用内置的sum函数。

uqxowvwt

uqxowvwt1#

sum((a, b))本质上计算0 + a + b。因为在你给它的参数的情况下,0 + a + b是有意义的,这就是你得到的结果。您可以向numpy数组添加一个常量,也可以添加两个大小兼容的numpy数组。

相关问题