无法列出指定大小的列表

Ale*_*ear 1 python counter

我正在尝试列出大约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)

问题是,当我创建计数器时,它就像整个列表实际上只是一个列表一样.有什么明显的东西我做错了吗?谢谢

Roh*_*ain 7

使用[[]]*5000,您将创建对外部列表中相同列表的5000引用.因此,如果您修改任何列表,它将修改所有列表.

你可以得到这样的不同列表:

a = [[] for _ in xrange(5000)]
Run Code Online (Sandbox Code Playgroud)