在python中以一对一的方式将一个列表中的元素添加到另一个列表的嵌套元素



我有两个列表,我想创建一个新的列表,列表1中的元素几乎以一对一的方式附加到列表2中的元素。

我的清单如下,

list1=[[m, g],[n, b]]
list2=[[[['a'], ['b']],[['c'], ['d']]], [[['a'], ['f']],[['g'],['d']]]]

我希望list1中的第一个元素与list2中第一个嵌套列表中的元素相关联,同样,list1中的第二个元素与list2中第二个元素相关联。

结果看起来像这样,

newlist=[[[[['a'], ['b']], [m, g]], [[['c'], ['d']], [m, g]]],
[[[['a'], ['f']], [n, b]], [[['g'], ['d']], [n, b]]]]

我试过了,

newlist=[]
for i in range(len(list2)):
f=map(list, zip(list2[i], list1))
newlist.append(f)
newlist=[[[[['a'], ['b']], [m, g]], [[['c'], ['d']], [n, b]]],
[[[['a'], ['f']], [m, g]], [[['g'], ['d']], [n, b]]]]

但是结果并不是我想要的。任何关于如何解决这个问题的帮助都会有所帮助。

我的建议是:

result=[]
for i,k in zip(list2, list1):
result.append([[x,k] for x in i])
print(result)

输出:

[[[[['a'], ['b']], ['m', 'g']], [[['c'], ['d']], ['m', 'g']]], [[[['a'], ['f']], ['n', 'b']], [[['g'], ['d']], ['n', 'b']]]]

最新更新