我正在尝试列出大约5000个列表的列表,它一直搞乱.
现在我就是这样做的:
array = [[]]*5000
for line in f2:
a = line.split()
grid = int(a[0])
array[grid].append(a[1])
print Counter(array[0]).most_common(10)
Run Code Online (Sandbox Code Playgroud)
问题是,当我创建计数器时,它就像整个列表实际上只是一个列表一样.有什么明显的东西我做错了吗?谢谢
使用[[]]*5000,您将创建对外部列表中相同列表的5000引用.因此,如果您修改任何列表,它将修改所有列表.
你可以得到这样的不同列表:
a = [[] for _ in xrange(5000)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
423 次 |
| 最近记录: |