two Lists to Json Format in python

前端 未结 4 730
囚心锁ツ
囚心锁ツ 2020-12-09 19:56

I have two lists

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

I want the end result to be in json like this.

[{\         


        
相关标签:
4条回答
  • 2020-12-09 20:04

    Using 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'}]
    

    Use json.dumps to get 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"}]'
    
    0 讨论(0)
  • 2020-12-09 20:09

    In addition to the answer of 'falsetru' if you need an actual json object (and not only a string with the structure of a json) you can use json.loads() and use as parameter the string that json.dumps() outputs.

    0 讨论(0)
  • 2020-12-09 20:12

    You first have to set it up as a list, and then add the items to it

    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))
    
    0 讨论(0)
  • 2020-12-09 20:16

    You can combine map with zip.

    jsonized = map(lambda item: {'country':item[0], 'wins':item[1]}, zip(a,b))
    
    0 讨论(0)
提交回复
热议问题