python append list只获取最后一个值

时间:2017-11-11 09:51:29

标签: python list python-3.6

再次出现问题,这次是关于列表。 我已经知道我可以将列表放入列表但是如果我这样做,所有迷你列表就是我输入的最后一个列表。这是我的程序:

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

所以提前谢谢,再见。

2 个答案:

答案 0 :(得分:0)

不要清除您的清单:

Zwi.clear()

每次都换一个新的:

Zwi = []

前者对每个输入集合使用相同的列表,因此将相同的列表添加四次。后者创建了四个新列表。这就是你想要的。

答案 1 :(得分:0)

这对我有用:

g = int(input ('How many lists?'))
Coords = []
while g > 0 :
    Zwi = []
    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)