大家好,如果这是一个菜鸟问题,我很抱歉,但我使用的是 python,我有一个问题,我复制一个数组,但当我修改副本时,它会影响原始数组。我想将边界矩阵的线性偏移添加到一组坐标:
boundaries = [[5.818, 0.0, 0.0], [0.0, 5.818, 0.0], [0.0, 0.0, 5.818]]
xyzCoord = [[0.0, 0.0, 0.0], [2.909, 2.909, 0.0], ...
extraX=[]
for i in range(0,len(xyzCoord)):
toAdd=[]
toAdd=xyzCoord[i]
toAdd[0]=toAdd[0]+boundaries[0][0]
print xyzCoord
我期望的输出是 xyzCoord 不应受到影响,因为我复制了一个 (toAdd),然后对其进行修改。奇怪的是,这个循环确实影响了我的 xyzCoord:
输出是:
[[5.818, 0.0, 0.0], [0.0, 5.818, 0.0], [0.0, 0.0, 5.818]]
[[0.0, 0.0, 0.0], [2.909, 2.909, 0.0], ...
[[5.818, 0.0, 0.0], [8.727, 2.909, 0.0], ...
编辑:对于上下文,我的想法是,我想最终使用转置值创建一个单独的列表,然后最终创建一个插入列表,但这部分阻碍了我。 IE。我理想地想创建:
[[0.0, 0.0, 0.0], [5.818, 0.0, 0.0], [2.909, 0.0, 0.0], [8.727, 2.909, 0.0]...]
然后为 Y 和 Z 做一个更大的循环。这样我就可以在 X Y 和 Z 中传播一些坐标并任意次数。