Python:迭代时在列表中追加整数数组
我有一个整数数组,比如offset=array('I',[0,0]) 我将数组追加到一个列表中。 我的预期产出是:Python:迭代时在列表中追加整数数组,python,arrays,iteration,Python,Arrays,Iteration,我有一个整数数组,比如offset=array('I',[0,0]) 我将数组追加到一个列表中。 我的预期产出是: array('i', [2, 11]) array('i', [3, 12]) array('i', [4, 13]) [array('i', [2, 11]), array('i', [2, 12]), array('i', [4, 13])] 但是,我得到的输出是: array('i', [2, 11]) array('i', [3, 12]) array('i', [4,
array('i', [2, 11])
array('i', [3, 12])
array('i', [4, 13])
[array('i', [2, 11]), array('i', [2, 12]), array('i', [4, 13])]
但是,我得到的输出是:
array('i', [2, 11])
array('i', [3, 12])
array('i', [4, 13])
[array('i', [4, 13]), array('i', [4, 13]), array('i', [4, 13])]
谁能帮我整理一下吗?我认为j=1,k=10
并使用如下代码:
from array import array
j,k = 1,10
off=[]
#offset=array('i',[0,0])
for each in [1,2,3]:
offset=array('i',[0,0]) # move to here
offset[0]=j+each
offset[1]=k+each
print(offset)
off.append(offset)
print(off)
复制可以帮助您,请按照赛博的建议进行检查
from array import array
from copy import copy
j,k = 1,10
off=[]
offset_base=array('i',[0,0])
for each in [1,2,3]:
offset=copy(offset_base)
offset[0]=j+each
offset[1]=k+each
print(offset)
off.append(offset)
print(off)
通读这篇关于列表的帖子。我之所以提出这个问题,是因为您在所有阵列中存储了同一列表的副本,这导致了您看到的问题。
from array import array
from copy import copy
j,k = 1,10
off=[]
offset_base=array('i',[0,0])
for each in [1,2,3]:
offset=copy(offset_base)
offset[0]=j+each
offset[1]=k+each
print(offset)
off.append(offset)
print(off)