在python中将数组元素复制到数组的奇怪行为

时间:2018-01-14 21:23:55

标签: python list

我面临一个与在其他数组中复制数组元素相关的奇怪问题,让我用代码解释一下:

我正在将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条目。

亲切的问候,并提前感谢。

1 个答案:

答案 0 :(得分:-2)

我认为问题是e init。

我们正在使用相同值的引用,因此,当您更改值时,您将更改所有引用。最后一个值是CSV中的最后一个条目。