python:将Counter对象转换为添加了键名的json对象

nei*_*eif 3 python json dictionary

我在Python中有一个Counter对象,它包含以下数据:

{'a': 4, 'b': 1, 'e': 1}
Run Code Online (Sandbox Code Playgroud)

我想将其转换为具有以下形式的JSON对象:

[{'name':'a', 'value': 4} , {'name':'b', 'value': 1}, {'name':'e', 'value': 1}]
Run Code Online (Sandbox Code Playgroud)

有没有有效的方法呢?

Ana*_*mar 5

您可以使用列表推导将字典转换为字典列表.示例 -

data = {'a': 4, 'b': 1, 'e': 1}
result = [{'name':key, 'value':value} for key,value in data.items()]
Run Code Online (Sandbox Code Playgroud)

演示 -

>>> data = {'a': 4, 'b': 1, 'e': 1}
>>> result = [{'name':key, 'value':value} for key,value in data.items()]
>>> result
[{'name': 'a', 'value': 4}, {'name': 'b', 'value': 1}, {'name': 'e', 'value': 1}] 
Run Code Online (Sandbox Code Playgroud)

  • `Counter(data).items()`也会一样.好的解决方案 (2认同)
  • 我只是想在你的解决方案中用`Counter(data).items`替换`data.items` - 不需要额外转换计数器 (2认同)