2016-09-24 122 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)