如何通过dictionary或JSON等似是而非的格式将三个列表合并成一个列表?Python

2024-09-29 01:19:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有三张单子:

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

如何将列表合并成以下格式?你知道吗

[ ['1.jpg','class1','Good for health.'],
['12.jpg','class5','Good luck.']]

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

[{'img':'1.jpg','class':'class1','sentence':'Good for health.'},
{'img':'12.jpg','class':'class5','sentence':'Good luck'}]

Tags: 列表imgfor格式sentenceclass单子jpg
2条回答

使用^{}将列表组合为:

>>> 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.')]

要将其转换为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.'}]

您可以使用itertools包中的内置zip()izip()方法。你知道吗

from itertools import izip
for i, j in izip(handle1, handle2):
    ...

相关问题 更多 >