【发布时间】:2017-11-11 09:51:28
【问题描述】:
又是一个问题,这次是关于列表的。 我已经知道我可以将列表放入列表中,但如果这样做,所有迷你列表都只是我放入的最后一个列表。这是我的程序:
g = int(input ('How many lists?'))
while g > 0 :
Zwi.clear()
print('')
print('')
print('')
co = float(input ('object 1'))
Zwi.append(co)
co = float(input ('object 2'))
Zwi.append(co)
co = float(input ('object 3'))
Zwi.append(co)
co = float(input ('object 4'))
Zwi.append(co)
Coords.append(Zwi)
g = g - 1
print(Coords)
例如,如果我放入 4 个列表,然后
1,2,3,4
2,4,3,1
7,4,2,5
9,8,7,6
它只会输出
9,8,7,6,9,8,7,6,9,8,7,6,9,8,7,6
先谢谢了,再见。
【问题讨论】:
-
Zwi始终是同一个列表。您必须在每次迭代时创建一个新列表。 -
因为列表适用于引用,所以如果您清除指向的列表,它将影响具有指向另一个列表的元素的主列表
-
可能是您附加了对 Zwi 的引用。因此,它将处于 Zwi 结束的任何状态。一种快速检查的方法是在处理后更新 Zwi 列表,然后打印 Coords 以查看它是否会更改结果。
-
查看链接的问题,了解代码中发生的情况。这与您的问题基本相同,只是您甚至从未尝试复制列表(或创建新列表)。
标签: python list python-3.6