2016-09-24 57 views
0

您好,我試圖將兩個列表順序合併到子列表中。我想知道如果沒有列表解析或lambda操作,這是否可能,因爲我仍然在學習如何使用這些方法。謝謝將單獨列表中的項目合併到嵌套列表中

a = [0,1,2,3] 
b = [4,5,6,7] 

#desired output 
c = [0,4],[1,5],[2,6],[3,7] 
+0

呃,你的意思是'c = [[0,4],[1,5],[2,6],[3,7]]'? – Li357

+2

'[zip(a,b)]中的[list(t)]'如果需要,這很容易變成更詳細的循環。 –

+0

這太棒了!謝謝大家的回答。很有幫助。 –

回答

1

不涉及lambda S或列表解析(不知道這個問題是列表譜曲的)的方法是用map

c = list(map(list, zip(a, b))) 

這首先zip S中然後爲zipmap生成的每個元組創建一個list實例,並將其全部包裝在list中,以便map生成它的所有內容:

print(c) 
[[0, 4], [1, 5], [2, 6], [3, 7]] 

至少在我看來,這比John在評論中提供的等效理解更難理解。

0

這裏有一個適合初學者的解決方案!

c = [] 
a = [0,1,2,3] 
b = [4,5,6,7] 

for i in range(min(len(a), len(b))): 
    c.append([a[i], b[i]]) # writing [a[i], b[i]] creates a new list 

print(c) 
相關問題