如何在python中从现有的两个列表中创建新的列表?



我有两个列表:

first_list = ['head1', 'head2', 'head3', 'head4']
second_list = [['val1', 'val2', 'val3', 'val4'], ['val1a', 'val2a', 'val3a', 'val4a'],...]

second_list为查询结果。

我想要一个新的new_list如下所示:

[['head1': 'val1', 'head2': 'val2', 'head3': 'val3', 'head4': 'val4'], ['head1': 'val1a', 'head2': 'val2a', 'head3': 'val3a', 'head4': 'val4a'],..]

我怎样才能达到上述结果?

>>> first_list = ['head1','head2', 'head3', 'head4']
>>> second_list = [['val1','val2','val3','val4'],['val1a','val2a','val3a','val4a']]
>>> [dict(zip(first_list, val)) for val in second_list]
[{'head1': 'val1', 'head2': 'val2', 'head3': 'val3', 'head4': 'val4'}, {'head1': 'val1a', 'head2': 'val2a', 'head3': 'val3a', 'head4': 'val4a'}]
first_list = ['head1','head2', 'head3', 'head4']
second_list = [['val1','val2','val3','val4'],['val1a','val2a','val3a','val4a']]
res = []
for ind, lst in enumerate(second_list):
li = {first_list[ind]: lst[ind] for ind, _ in enumerate(lst)}
res.append(li)
print(res)

最新更新