Python的版本是2.6.6
n = 0
list1=["","",""]
list2=[]
for ... :
# a b c changes every loop
list1[0]=a
list1[1]=b
list1[2]=c
list2[n].append(list1)
n += 1
for j in range(n):
print list2[j]
问题是list2中的每个项目都是最后一个循环的值,为什么? 它似乎是由浅拷贝造成的,但我不知道如何解决它。
答案 0 :(得分:3)
您需要附加list1
的副本:
list2.append(list1[:])
否则,附加的内容是对同一个列表的引用。