我见过zeros(5)
vs zeros((5,))
来初始化python中的变量,其中n
是一个整数。当我使用print()
函数打印两个变量时,我得到了
两个选项都[ 0. 0. 0. 0. 0.]
。为什么会使用第二种选择,这似乎更复杂?
答案 0 :(得分:1)
Numpy
为例
numpy.ma.zeros(shape, dtype=float, order='C') = <numpy.ma.core._convert2ma instance>
返回给定的新数组 形状和类型,填充零。
参数:
shape
: int或整数序列新阵列的形状,例如(2,3)或2。
...
所以np.zeros(5)
和np.zeros((5,))
都可以,你得到了相同的结果,但你传递了不同类型的参数:第一个是int
,第二个是{{1} } tuple
s,它也是有效的,因为它是一个整数序列。要构造一个int
元素tuple
,您需要添加一个额外的逗号(有关详细信息,请参阅this)。
那么为什么有人会使用更复杂的?也许这只是他们的个人喜好或为了方便他们可能会在以后改变维度的数量。