Чтобы получить список версий, вы можете сделать:
lis1 = [['name', 'lastname'], ['name', 'lastname']]
list2 = ['tom', 'miller', 'john', 'snow']
list_iter = iter(list2)
final_result = [
[f"{elem1}: {next(list_iter)}" for elem1 in inner_list]
for inner_list in lis1
]
print(final_result)
Вывод:
[['name: tom', 'lastname: miller'], ['name: john', 'lastname: snow']]
Для dict
внутри list
:
>>> list_iter = iter(list2)
>>> final_result = [
[{elem1: next(list_iter) for elem1 in inner_list}]
for inner_list in lis1
]
Вывод:
[[{'name': 'tom', 'lastname': 'miller'}],
[{'name': 'john', 'lastname': 'snow'}]]
И очень уродливый способ выглядит так:
>>> [[dict(elem)] for elem in zip(*[zip(sum(lis1, []),list2)]*2)]
[[{'name': 'tom', 'lastname': 'miller'}],
[{'name': 'john', 'lastname': 'snow'}]]