无法列出指定大小的列表

时间:2013-07-01 19:08:46

标签: 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)
问题是,当我制作计数器时,就像整个列表实际上只是一个列表一样。有什么明显的东西我做错了吗? 感谢

1 个答案:

答案 0 :(得分:7)

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

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

a = [[] for _ in xrange(5000)]