python numpy range()和sum(-1)
问题:python numpy range()和sum(-1),python,numpy,Python,Numpy,问题: print(sum(range(5),-1)) from numpy import * print(sum(range(5),-1)) 9 10 背后的逻辑是什么?谢谢numpy.sum()签名如下(省略了一些参数): Python的sum签名: sum(iterable, start=0) sum对提供的iterable进行迭代,对值求和,然后加-1(即减1)。 numpy.sum只对提供的iterable中的所有值求和,并将轴参数作为1,在您的情况下,该参数不会改变行为。n
print(sum(range(5),-1))
from numpy import *
print(sum(range(5),-1))
9
10
背后的逻辑是什么?谢谢numpy.sum()签名如下(省略了一些参数):
Python的sum
签名:
sum(iterable, start=0)
sum
对提供的iterable进行迭代,对值求和,然后加-1(即减1)。
numpy.sum
只对提供的iterable中的所有值求和,并将轴
参数作为1
,在您的情况下,该参数不会改变行为。numpy.sum()签名如下(省略一些参数):
Python的sum
签名:
sum(iterable, start=0)
sum
对提供的iterable进行迭代,对值求和,然后加-1(即减1)。
numpy.sum
仅对提供的iterable中的所有值求和,并将轴
参数作为1
,在您的情况下,该参数不会改变行为。numpy必须重新定义范围
,并且它具有不同的边界规则。第一行相当于0+1+2+3+4+(-1)
。第三行相当于轴=-1上的0+1+2+3+4
。使用import numpy作为np
,然后将第三行重写为np.sum(范围(5),-1)
。阅读Numpy不重新定义范围的文档。np.sum()
中的第二个参数是axis
。它只会对第一个参数中的项目求和。啊,我的错。在黑暗中拍摄。我不认为求和函数可以有不同的行为。Numpy必须重新定义范围,并且它有不同的边界规则。第一行相当于0+1+2+3+4+(-1)
。第三行相当于轴=-1
上的0+1+2+3+4
。使用import numpy作为np
,然后将第三行重写为np.sum(范围(5),-1)
。阅读Numpy不重新定义范围的文档。np.sum()
中的第二个参数是axis
。它只会对第一个参数中的项目求和。啊,我的错。在黑暗中拍摄。我不认为求和函数可以有不同的行为。这并不重要,但是sum
不会在操作结束时添加start
值-而是从默认为0的start
值开始,并将序列添加到该值中。就像在CPython中一样。这并不重要,但是sum
不会在操作结束时添加start
值-而是从默认为0的start
值开始,并将序列添加到该值中。就像在CPython。