mar*_*rco 3 python loops list append range
我是Python初学者,没有任何编程经验.如果这个问题听起来太蹩脚,我会提前道歉,但我有些困惑.它与将特定列表(l2)添加到空列表(l1)有关.我想要做的是在每次迭代中增加每个"l2"元素的值,然后将其添加到l2列表中.这是代码:
l1 = []
l2 = [0,1,2,3]
for i in range(3):
l2[0] = l2[0] + 1
l2[1] = l2[1] + 1
l2[2] = l2[2] + 1
l2[3] = l2[3] + 1
print l2
l1.append(l2)
print l1
Run Code Online (Sandbox Code Playgroud)
这是我得到的打印结果:
[1, 2, 3, 4]
[2, 3, 4, 5]
[3, 4, 5, 6]
[[3, 4, 5, 6], [3, 4, 5, 6], [3, 4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)
为什么l2列表看起来不像这样:
[[1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)
?感谢您的答复.
这是因为您每次都附加相同的列表对象.您需要在附加列表对象之前复制该列表对象,以确保附加其他对象.
l1.append(l2[:])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |