我正在尝试制作一个 numpy ndarrays 列表,类似于以下内容:
>>> import numpy as np
>>> a = np.array([1,2,3])
>>> b = 3*[np.copy(a)]
>>> print b
[array([1, 2, 3]), array([1, 2, 3]), array([1, 2, 3])]
但是这个列表的每个元素都是原始数组的别名np.copy(a)
,因此更改任何 ndarray 的一个元素会更改所有其他相应的元素,即:
>>> b[0][0] = 0
>>> print b
[array([0, 2, 3]), array([0, 2, 3]), array([0, 2, 3])]
如何使这些数组中的每一个相互独立,以便上述结果为:
[array([0, 2, 3]), array([1, 2, 3]), array([1, 2, 3])]