python - 如何从 python 中的多个列表创建 JSON 格式的字符串?

标签 python json

我有 3 个列表,

city_id = [1,2,3]
city_name = ['a','b','c']
city_capital = ['x','y','z']

如何在不自己迭代的情况下,将上面三个列表组合成下面格式的json。 python 中是否有可用的库函数来完成这项工作?

[
    {
        'city_id': 1,
        'city_name': 'a',
        'city_capital': 'x'
    },
    {
        'city_id': 2,
        'city_name': 'b',
        'city_capital': 'y'
    },
    {
        'city_id': 3,
        'city_name': 'c',
        'city_capital': 'z'
    }
]

最佳答案

要获取包含该形式数据的列表:

[ { 'city_id': x, 'city_name': y, 'city_capital': z } 
  for x, y, z in zip(city_id, city_name, city_capital) ]

如果您想以完全的形式输出数据,那么您可以使用@AndyKubiak 在评论中的建议:

import json
d = [ { 'city_id': x, 'city_name': y, 'city_capital': z } 
      for x, y, z in zip(city_id, city_name, city_capital) ]
pretty_json = json.dumps(d, sort_keys=True, indent=4)

关于python - 如何从 python 中的多个列表创建 JSON 格式的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32095655/

相关文章:

java - 从java中的响应复杂json中提取所有值

python - python - 如何使用seaborn中的彩色气泡图设置数值变量的色调范围?

python - 如何在 Pandas 中对两列进行区分?

python - 使用 json.dumps(string) 转储字符串

python - 获取 int(some_variable) 可能导致的所有异常

java - 将字节数组放入 JSON,反之亦然

Java Android - 应用程序适用于 4.4,但不适用于 2.3.5

python - 通过python将视频上传到youtube

c# - Json 与 .NET 和 C#?

json - 有没有更优雅的方法将大对象变量传递给 jq?