два списка в формате Json в python

у меня два списка

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

Я хочу, чтобы конечный результат был в json, как это.

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

я использовал zip (a, b), чтобы присоединиться к двум, но не мог назвать его

3 ответов


используя понимание:

>>> [{'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"}]'

сначала вы должны настроить его как список, а затем добавить в него элементы

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))

вы можете комбинировать map С zip.

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