大家好我很抱歉,如果这是一个noob问题,但我使用python和我有一个问题,我复制一个数组,但然后当我修改它影响原件的副本。我想一个线性从边界矩阵偏移添加到一组坐标: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], ...
编辑:对于背景下,这个想法是,我希望最终能与转置值,然后一个单独的列表最终创建一个插入列表,但这部分阻止了我。即我希望创建: [[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.这样我可以在XY和Z中传播一些坐标和任意次数。
感谢您的帮助,这完全奏效! – Coherent