下面两段代码,结果运行不一样,想问下是什么原因?
print(sum(range(5),-1))
结果为 9
from numpy import *
print(sum(range(5),-1))
结果为 10
下面两段代码,结果运行不一样,想问下是什么原因?
print(sum(range(5),-1))
结果为 9
from numpy import *
print(sum(range(5),-1))
结果为 10
可以看一下不一定正确,原始的sum 是对两个值进行求和,而numpy.sum()此时你的-1会作为axis参数传递
@array_function_dispatch(_sum_dispatcher)
def sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue,
initial=np._NoValue, where=np._NoValue):
def hc(a, b=None, c=None):
print("参数a",a)
print("参数b",b)
print("参数c",c)
pass
hc(range(5),-1)
输出结果
参数a range(0, 5)
参数b -1
参数c None
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
python自带的
sum
函数签名如下:后一个参数指定的是初始化值,会加到结果中去。故结果是-1+1+2+3+4=9。
numpy中sum函数签名为:
不使用命名参数,-1传给了axis,结果为10。如果要指定初始值,这样用
sum(range(1,5), initial=-1)
。