我想将Counter转换为Json对象,以便将此Counter保存到数据库中。问题是,当我解码Json对象时,我无法更新我的计数器:
from collections import Counter
import json
counter = Counter(['a','a','b','a'])
counterJson = json.dumps(counter)
counter = json.loads(counterJson)
counter.update(['a','e'])
我收到此错误消息:
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
counter.update(['a','e'])
ValueError: dictionary update sequence element #0 has length 1; 2 is required
答案 0 :(得分:1)
counter
不再是Counter
,而是dict
之后的json.loads
。因此,您需要将其转换为Counter
。然后,您可以使用其他Counter
更新Counter
counter = Counter(json.loads(counterJson))
counter.update(Counter(["a", "e"]))
print counter
<强>输出强>
Counter({u'a': 4, u'b': 1, 'e': 1})