可能重复:
Getting 'int' object is not iterable遍历字典的价值观不工作(错误是“廉政”对象不是可迭代)
所以我试图将值添加到字典的基础上,其他一些代码:
if not cat_sums.has_key(k):
cat_sums[k] = 0
cat_sums[k] += value
词典是这样的:
cat_sums = defaultdict(<type 'list'>, {'composed': [0], 'elated': [0], 'unsure': [0], 'hostile': [0], 'tired': [0], 'depressed': [0], 'guilty': [0], 'confused': [0], 'clearheaded': [0], 'anxious': [0], 'confident': [0], 'agreeable': [0], 'energetic': [0]})
而且我越来越:
cat_sums[k] += value
TypeError: 'int' object is not iterable
这是有道理的,因为cat_sums [K] = [0]对于第一次迭代,并且[0]不是整数,它是一个列表。然而
print cat_sums[k[0]]
,看看它会输出,也就是说,看我是否应该cat_sums[k[0]]
取代cat_sums[k]
,这给了我这样的::那么我想这
[]
空列表。
那么如何添加字典cat_sums中的值,迭代每个键?我在这里做错了什么?
注意,只是为了澄清,值是要等于某个整数值大于或等于0(虽然,可能会改变和负整数,可以稍后允许的,但目前还没有)
我想你的意思是'cat_sums [k] [0]'而不是'cat_sums [k [0]]'。 – Isaac 2012-07-19 21:25:39
不要使用'has_key',它已被弃用。使用'if k not in cat_sums:' – Daenyth 2012-07-19 21:31:21
由OP复制:http://stackoverflow.com/q/11533650/1025391 – moooeeeep 2012-07-19 22:12:55