我正在尝试列出大约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)
问题是,当我制作计数器时,就像整个列表实际上只是一个列表一样。有什么明显的东西我做错了吗?
感谢
答案 0 :(得分:7)
使用[[]]*5000
,您将创建 5000 对外部列表中相同列表的引用。因此,如果您修改任何列表,它将修改所有列表。
你可以得到这样的不同列表:
a = [[] for _ in xrange(5000)]