清单未正确附加

时间:2018-07-18 02:07:38

标签: python python-3.x list append

如果我有将1个列表追加到另一个列表中的代码:

nlis = [2, 4, 6, 8]
k = []
k.append(nlis)
print(k)
for i in range(4):
    nlis[i] += 1
k.append(nlis)
print(k)

由于某些原因,输出:

[[2, 4, 6, 8]]
[[3, 5, 7, 9], [3, 5, 7, 9]]

[2, 4, 6, 8]变成[3, 5, 7, 8]

如何使它输出:

[2, 4, 6, 8]
[[2, 4, 6, 8], [3, 5, 7, 9]]

2 个答案:

答案 0 :(得分:1)

尝试一下:

nlis = [2, 4, 6, 8]
nlis2=[]
nlis2.extend(nlis)
k = []
k.append(nlis2)
k.append(nlis)
print(k[0])
for i in range(4):
    nlis[i] += 1
print(k)

输出:

[2, 4, 6, 8]

[[2, 4, 6, 8], [3, 5, 7, 9]]

或者:

nlis = [2, 4, 6, 8]
k = []
k.append(nlis)
print(k[0])
nlis2=nlis[:]
for i in range(4):
    nlis2[i] += 1
k.append(nlis2)
print(k)

答案 1 :(得分:0)

.append()将添加的内容作为单个值添加到列表中。而是使用.extend()。与k.append(nlis)中一样。