2014-01-10 25 views
0
list1 = [1, 2], [3, 4], [5, 6], [7, 8] 

element = [list1[0], list1[1]]; list2.append(element) 
element = [list1[2], list1[3]]; list2.append(element) 

上面的兩行list2.append(element)創建一個雙序列表,每個序列包含兩個嵌套序列。 「print list2」的結果如下:如何建立一個包含循環的多個嵌套序列的列表序列?

[[1, 2], [3, 4]] 
[[5, 6], [7, 8]] 

列表2是我想要的。但我的問題是我如何使用循環建立list2?我看到append和insert命令,但它們看起來並沒有創建多個以相同順序用逗號分隔的元素。

回答

3
zip(list1[::2], list1[1::2]) 

第一個參數是所有偶數元素,第二個參數是所有奇數元素。拉鍊這些,你就完成了。

+0

或'map(list,zip(list1 [:: 2],list1 [1 :: 2]))'如果你想要列表而不是元組。 –

+0

謝謝。這是一個非常好的答案。但我希望給出一個非常簡單的例子?可能會得到良好的循環。真實世界的list1將會有更多的序列。另外,我可以將兩個以上的list1序列寫入list2序列。 list1序列很少連續。 – user3180110

+0

對不起,我以前的評論是不完整的。 list1元素的數量和順序可能會因list2順序的不同而有所不同。例如,假設10個list1序列。我可以將list1序列1 + 2寫入第一個list2序列。然而,第二個list2序列可能有list1序列1 + 3 + 8. – user3180110