重複の可能性:
'int' オブジェクトの取得は反復可能ではありません
だから私は、他のコードに基づいて辞書に値を追加しようとしています:
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]
ましcat_sums[k[0]]
た。
[]
空のリスト。
では、すべてのキーを反復して、辞書 cat_sums 内の値を追加するにはどうすればよいでしょうか? ここで何が間違っていますか?
明確にするために、値は0以上の整数値に等しくなることに注意してください(ただし、これは変更される可能性があり、負の整数は後で許可される可能性がありますが、まだ許可されていません)