Numpy附加到一个空数组

时间:2014-11-28 08:57:59

标签: python arrays numpy

第一案:

>>> import numpy as np
>>> x=np.array(0)
>>> x=np.append(x,1)
>>> x
array([0, 1])

x包含2个元素。那是为什么?!

第二案:

>>> x=np.array([])
>>> x=np.append(x,1)
>>> x
array([ 1.])

x包含1个元素,如预期的那样。

np.array(0)np.array([])之间的区别是什么?

1 个答案:

答案 0 :(得分:6)

在第一种情况下,您正在创建一个名为x的数组,该数组将包含一个值0

在你的第二种情况下,你创建了一个名为x的空数组,它不包含任何值,但仍然是一个数组。

第一种情况

因此,当您追加x = np.append(x,1)时,值1将附加到您的数组(已包含0),即。它现在包含0和1

第二案例

由于空数组中没有值,因此当您追加x=np.append(x,1)时,会附加值1并且x的长度变为1(,即它现在仅包含1

P.S。我相信你可能认为用x = np.array(0)调用0会使它成为一个空数组,它不会!在Python中,0仍然被视为一个数字并附加到数组中。