第一案:
>>> 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([])
之间的区别是什么?
答案 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仍然被视为一个数字并附加到数组中。