首页 > 代码库 > python字典value为列表时遇到的问题
python字典value为列表时遇到的问题
a = [1,2,3,4,5,5,5,5,5,5,5] c = set(a) c = list(c) b = {}.fromkeys(a,[0,0,0,0,0]) for x in c: b[x][0] = a.count(x) print b
猜猜会发生什么?
我猜python在执行程序的过程中,把a.count(x)当成一个常量来执行循环,把每个列表的第一个元素都变成了a.count(5)
但是当去掉代表列表的[0]时
把b[x][0] = a.count(x)改为b[x]=a.count(x)时,又得到不一样的结果:
就因为这么点破事,两天的程序白跑了,靠靠靠。
如果想达到那种依次改变每个列表对应位置的值的效果,我的解决方案是把字典默认值设为空字符串,利用字符串的拼接输出。。。
python字典value为列表时遇到的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。