use*_*857 10 python list append
我在我的程序中遇到了问题而且我不确定我做错了什么.首先,我创建了一个空的列表列表.例如:
>>> Lists = [[]]*12
Run Code Online (Sandbox Code Playgroud)
这使:
>>> Lists
[[], [], [], [], [], [], [], [], [], [], [], []]
Run Code Online (Sandbox Code Playgroud)
但是,在尝试将值附加到单个子列表时,它会将值添加到所有子列表.例如:
>>> Lists[2].append(1)
Run Code Online (Sandbox Code Playgroud)
得到:
>>> Lists
[[1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1]]
Run Code Online (Sandbox Code Playgroud)
有没有办法只附加到一个子列表,以便结果如下所示:
>>> Lists
[[], [], [1], [], [], [], [], [], [], [], [], []]
Run Code Online (Sandbox Code Playgroud)
Ble*_*der 19
列表对象是可变的,因此您实际上创建了一个列表,其中包含对一个列表的12个引用.使用列表理解并制作12个不同的列表:
Lists = [[] for i in range(12)]
Run Code Online (Sandbox Code Playgroud)
对不起,我找不到这个确切问题的原始副本
| 归档时间: |
|
| 查看次数: |
6784 次 |
| 最近记录: |