python中的两个Json格式列表

时间:2014-08-17 11:07:06

标签: python list dictionary

我有两个列表

a=["USA","France","Italy"]
b=["10","5","6"]

我希望最终结果是这样的json。

[{"country":"USA","wins":"10"},
{"country":"France","wins":"5"},
{"country":"Italy","wins":"6"},
]

我使用zip(a,b)加入两个但无法命名

4 个答案:

答案 0 :(得分:13)

使用list comprehension

>>> [{'country': country, 'wins': wins} for country, wins in zip(a, b)]
[{'country': 'USA', 'wins': '10'},
 {'country': 'France', 'wins': '5'},
 {'country': 'Italy', 'wins': '6'}]

使用json.dumps获取JSON:

>>> json.dumps(
...     [{'country': country, 'wins': wins} for country, wins in zip(a, b)]
... )
'[{"country": "USA", "wins": "10"}, {"country": "France", "wins": "5"}, {"country": "Italy", "wins": "6"}]'

答案 1 :(得分:1)

您可以将mapzip合并。

jsonized = map(lambda item: {'country':item[0], 'wins':item[1]}, zip(a,b))

答案 2 :(得分:1)

首先必须将其设置为列表,然后将项目添加到其中

import json

jsonList = []
a=["USA","France","Italy"]
b=["10","5","6"]

for i in range(0,len(a)):
    jsonList.append({"country" : a[i], "wins" : b[i]})


print(json.dumps(jsonList, indent = 1))

答案 3 :(得分:0)

如果您需要一个实际的json对象(不仅是一个具有json结构的字符串),除了回答“ falsetru”外,还可以使用json.loads()并将{{1 }}输出。