2017-04-12 45 views
3

我目前有嵌套列表:複製和插入到嵌套列表的Python

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

我也有另一個列表:

B = [b1, b2] 

我想在B,然後元素的數量要複製以下列方式插入列表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, ...] 

任何援助將不勝感激。

回答

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']

+0

謝謝你,一直在思考了幾個小時,你給我一個Python的初學者最簡單的方法。 – John

+0

@John你好:) – vks