0
您好,我試圖將兩個列表順序合併到子列表中。我想知道如果沒有列表解析或lambda操作,這是否可能,因爲我仍然在學習如何使用這些方法。謝謝將單獨列表中的項目合併到嵌套列表中
a = [0,1,2,3]
b = [4,5,6,7]
#desired output
c = [0,4],[1,5],[2,6],[3,7]
您好,我試圖將兩個列表順序合併到子列表中。我想知道如果沒有列表解析或lambda操作,這是否可能,因爲我仍然在學習如何使用這些方法。謝謝將單獨列表中的項目合併到嵌套列表中
a = [0,1,2,3]
b = [4,5,6,7]
#desired output
c = [0,4],[1,5],[2,6],[3,7]
不涉及lambda
S或列表解析(不知道這個問題是列表譜曲的)的方法是用map
:
c = list(map(list, zip(a, b)))
這首先zip
S中然後爲zip
與map
生成的每個元組創建一個list
實例,並將其全部包裝在list
中,以便map
生成它的所有內容:
print(c)
[[0, 4], [1, 5], [2, 6], [3, 7]]
至少在我看來,這比John在評論中提供的等效理解更難理解。
這裏有一個適合初學者的解決方案!
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)
呃,你的意思是'c = [[0,4],[1,5],[2,6],[3,7]]'? – Li357
'[zip(a,b)]中的[list(t)]'如果需要,這很容易變成更詳細的循環。 –
這太棒了!謝謝大家的回答。很有幫助。 –