第一种情况:
>>> 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([]) 有什么区别?
请您参考如下方法:
在您的第一种情况下,您正在创建一个名为 x 的数组,它将包含一个值,即 0。
在第二种情况下,您正在创建一个名为 x 的空数组,它不包含任何值,但仍然是一个数组。
第一个案例
因此,当您附加 x = np.append(x,1) 时,值 1 会附加到您的数组(已经包含 0)即它现在包含 0 和 1
第二种情况
由于您在空数组中没有值,因此当您附加 x=np.append(x,1) 时,将附加值 1 并且 的长度code>x 变为 1(即它现在只包含 1)
附言我相信您可能认为用 0 调用 x = np.array(0) 会使它成为一个空数组,但事实并非如此!在 Python 中,0 仍然被认为是一个数字,并附加到数组中。
