Python中的嵌套列表复制和插入

3

我目前有一个嵌套列表:

A = [[a1, a2, a3], c1, [a4, a5, a6], c2]

我还有另一个列表:

B = [b1, b2]

我希望通过B的元素数量来重复A,然后以以下方式插入B列表:
AB = [[a1, a2, a3], b1, c1, [a4, a5, a6], b1, c2, [a1, a2, a3], b2, c1, [a4, a5, a6], b2, c2]

我已经轻松地解决了复制问题:
AB = A * len(B)

然而,在嵌套列表中插入列表让我完全不知所措。

我目前使用的是 Python 3.6.1,列表 A 和 B 的大小可能会发生变化,但格式始终如下:

A template = [[x1, x2, x3], z1 ...]
B template = [y1, ...]

任何帮助都将不胜感激。
1个回答

2
你可以简单地完成它。
A = [['a1', 'a2', 'a3'], 'c1', ['a4', 'a5', 'a6'], 'c2']

AB=[]

B = ['b1', 'b2']
for i in B:
    for j in A:
        if isinstance(j,list):
            AB.append(j)
        else:
            AB.append(i)
            AB.append(j)
print AB

输出结果:[['a1', 'a2', 'a3'], 'b1', 'c1', ['a4', 'a5', 'a6'], 'b1', 'c2', ['a1', 'a2', 'a3'], 'b2', 'c1', ['a4', 'a5', 'a6'], 'b2', 'c2']


谢谢,我思考了几个小时,你向我展示了对于 Python 初学者来说最简单的方法。 - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接