python - 将 Counter 编码为 Json 对象

标签 python json counter

我想将 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

最佳答案

counter 不再是 Counter,它是 json.loads 之后的 dict。因此,您需要将其转换为计数器。然后,您可以使用另一个 Counter 更新一个 Counter,如下所示

counter = Counter(json.loads(counterJson))
counter.update(Counter(["a", "e"]))
print counter

输出

Counter({u'a': 4, u'b': 1, 'e': 1})

关于python - 将 Counter 编码为 Json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20091876/

相关文章:

javascript - 使用 KnockoutJS 从 API 加载字段后,将字段添加到 observableArray

javascript - 使用 Executescript 和 Javascript 合并 NiFi 中的 json 流文件

python - 使用数组分析输入并将其用作 Python 输入中数组列表的计数器

python - 在没有模板系统的情况下安装 Pyramid(Mako 和 Chameleon)

c# - ServiceStack 支持在每次调用的基础上有条件地从 REST 响应中省略字段

javascript - JS中的增量+自动更新变量值

php - 如何制作一个php文章计数器?

python - Django 事务管理 block 以未决的 COMMIT/ROLLBACK 结束

python - 在 Python 中,是否应该将具有一定数量可能结果的单个函数分解为单独的函数?

Python - 使用音频 openCV 播放无限视频,卡在音频