首页 > 编程语言 > 详细

python字典value为列表时遇到的问题

时间:2014-11-26 22:36:12      阅读:404      评论:0      收藏:0      [点我收藏+]
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

猜猜会发生什么?

bubuko.com,布布扣

我猜python在执行程序的过程中,把a.count(x)当成一个常量来执行循环,把每个列表的第一个元素都变成了a.count(5)

但是当去掉代表列表的[0]时

把b[x][0] = a.count(x)改为b[x]=a.count(x)时,又得到不一样的结果:

bubuko.com,布布扣

就因为这么点破事,两天的程序白跑了,靠靠靠。

如果想达到那种依次改变每个列表对应位置的值的效果,我的解决方案是把字典默认值设为空字符串,利用字符串的拼接输出。。。

python字典value为列表时遇到的问题

原文:http://blog.csdn.net/u013713637/article/details/41524019

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!