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

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

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

料青山看我应如是 2019-12-06 15:32:22
我正在尝试列出大约5000个列表,并且列表总是混乱不堪。现在,我只是这样做:array = [[]]*5000for line in f2:    a = line.split()    grid = int(a[0])    array[grid].append(a[1])print Counter(array[0]).most_common(10)问题是当我进行计数器操作时,好像整个列表数组实际上只是一个列表一样。我做错了什么吗?谢谢
查看完整描述

2 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

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


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


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


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

TA贡献1842条经验 获得超21个赞

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

查看完整回答
反对 回复 2019-12-06
  • 2 回答
  • 0 关注
  • 353 浏览
慕课专栏
更多

添加回答

举报

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