为了账号安全,请及时绑定邮箱和手机立即绑定

无法制作指定大小的列表列表

/ 猿问

无法制作指定大小的列表列表

料青山看我应如是 2019-12-06 15:32:22

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

问题是当我进行计数器操作时,好像整个列表数组实际上只是一个列表一样。我做错了什么吗?谢谢


查看完整描述

2 回答

?
墨色风雨

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


您可以这样获得不同的列表:


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


查看完整回答
反对 回复 2019-12-06
?
茅侃侃

该答案是对约1000个其他Python问题的重复,在这些问题中,列表的初始化方式是这样的。我认为我们需要“常见问题解答”,然后我们可以说“请参阅FAA#27”或其他内容。其他候选:“第N行的语法错误表示N-1行的括号不匹配”,“比较1 <'0'不会得到您认为会的结果,因为它们是不同的类型”。嗯,我想我会发布一个新的Community Wiki问题...

查看完整回答
反对 回复 2019-12-06

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信