У меня есть два вложенных списка, list_a
и list_b
:
list_a=[['a','b'],['c','d','e'],['f','g','f']]
list_b=[[5,7],[2,3,2],[4,7,8]]
Я пытаюсь создать list_c
, который будет результатом слияния каждого элемента в list_a
с соответствующим элементом в list_b
, например, list_a[1][1]
с list_b[1][1]
и list_a[1][2]
с list_b[1][2]
и т. Д. .произвести список списков кортежей.
list_c=[[('a',5),('b',7)],[('c',2),('d',3),('e',2)],[('f',4),('g',7),('f',8)]]
Я уже пробовал:
list_c=[]
for list1 in list_a:
for list2 in list_b:
list_c.append(list(zip(list1,list2)))
Но вывод для этого - список списков кортежей всех возможных комбинаций элементов в исходных списках:
[[('a', 5), ('b', 7)], [('a', 2), ('b', 3)],
[('a', 4), ('b', 7)], [('c', 5), ('d', 7)],...
[('f', 2), ('g', 3), ('f', 2)],
[('f', 4), ('g', 7), ('f', 8)]]
Я чувствую, что близок к правильному ответу, но упускаю что-то простое. Как мне получить list_c
структуры, которую я ищу? (Сохранение порядка имеет значение, поскольку я хотел бы использовать это для работы с CSV-файлом)
Это расширение вопроса, задаваемого здесь:
Объединить элементы в двух вложенных списках в пары в кортежах
Но я не смог найти ни одного подобного вопроса, который бы не сводил полученный список к чему-то вроде:
list_c=[('a',5),('b',7),('c',2),('d',3),('e',2),('f',4),('g',7),('f',8)]