我试图多次复制一个向量,然后更改它的一个元素:
from copy import deepcopy
v = [0.5,1.0,2.0]
m = 3 * [deepcopy(v)]
# m = [[0.5,1.0,2.0],[0.5,1.0,2.0],[0.5,1.0,2.0]]
m [0][0] = "Python"
# m = [["Python",1.0,2.0],["Python",1.0,2.0],["Python",1.0,2.0]]
正如您所看到的,它不是仅仅更改0数组中的0元素,而是更改所有的0元素。我做错了什么?
谢谢!
您在这里所做的是对同一事物进行了三次引用。
CCD_ 1只是对同一列表进行了3次不同的引用。
你会想做
m = [deepcopy(v) for x in range(3)]