为什么numpy在执行列表方法时不创建数组

Why doesn't numpy create an array when executing a list method

玩弄 numpy:

import numpy as np
l = [39, 54, 72, 46, 89, 53, 96, 64, 2, 75]
nl = np.array(l.append(3))


>> array(None, dtype=object)

现在,如果我调用 l,我会得到列表:[39, 54, 72, 46, 89, 53, 96, 64, 2, 75, 3]

我的问题是,为什么 numpy 不将该列表创建为数组?

如果我这样做:

nl = np.array(l.extend([45]))我也一样。

但是,如果我尝试在没有方法的情况下进行连接:nl = np.array(l+[45]) 它有效。

是什么导致了这种行为?

append 函数将始终 return None。您必须在两行不同的代码中执行此操作:

import numpy as np
l = [39, 54, 72, 46, 89, 53, 96, 64, 2, 75]
l.append(3)
nl = np.array(l)

appendextend 是就地方法,return None.

print(l.append(3)) # None
print(l.extend([3])) # None