如何通过词典或JSON等似是而非的格式将三个列表组合成一个列表?蟒蛇

bob*_*937 3 python json dictionary list

我有三个清单:

imglist=['1.jpg', '12.jpg']
classlist=['class1', 'class5']
sentencelist=['Good for health.', 'Good luck.']
Run Code Online (Sandbox Code Playgroud)

如何将列表组合成以下格式?

[ ['1.jpg','class1','Good for health.'],
['12.jpg','class5','Good luck.']]
Run Code Online (Sandbox Code Playgroud)

或者如果你知道如何将列表组合成字典或JSON格式?如

[{'img':'1.jpg','class':'class1','sentence':'Good for health.'},
{'img':'12.jpg','class':'class5','sentence':'Good luck'}]
Run Code Online (Sandbox Code Playgroud)

Moi*_*dri 5

使用zip()到列表中的结合:

>>> imglist=['1.jpg', '12.jpg']
>>> classlist=['class1', 'class5']
>>> sentencelist=['Good for health.', 'Good luck.']

# combining list
>>> zip(imglist, classlist, sentencelist)
[('1.jpg', 'class1', 'Good for health.'), ('12.jpg', 'class5', 'Good luck.')]
Run Code Online (Sandbox Code Playgroud)

为了将其转换为dict您的格式,请使用zip带有列表理解为:

>>> key_list = ["img", "class", "sentence"]
>>> my_zipped_list = zip(imglist, classlist, sentencelist)  # same list as above example

>>> [dict(zip(key_list, zipped_element)) for zipped_element in my_zipped_list]
[{'class': 'class1', 'img': '1.jpg',  'sentence': 'Good for health.'},
 {'class': 'class5', 'img': '12.jpg', 'sentence': 'Good luck.'}]
Run Code Online (Sandbox Code Playgroud)