我面临一个与在其他数组中复制数组元素相关的奇怪问题,让我用代码解释一下:
我正在将csv加载到二维数组中,如果我这样做的话:
e = [None] * 4
with open("file.csv") as f:
for line in f:
e=line.split(",")
finalarray.append(e)
如果我这样做,在finalarray我只得到最后一次重复的csv条目,但是,如果我这样做:
with open("file.csv") as f:
for line in f:
finalarray.append(line.split(","))
就像一个魅力,但我无法理解为什么第二个选项有效,第一个选项无法加载最后一个csv条目。
亲切的问候,并提前感谢。
答案 0 :(得分:-2)
我认为问题是e init。
我们正在使用相同值的引用,因此,当您更改值时,您将更改所有引用。最后一个值是CSV中的最后一个条目。