码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-11-26 22:39:15      阅读:331      评论:0      收藏:0      [点我收藏+]

标签:blog   http   ar   for   on   2014   问题   log   as   

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为列表时遇到的问题

标签:blog   http   ar   for   on   2014   问题   log   as   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!