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)]'如果需要,这很容易变成更详细的循环。 –
这太棒了!谢谢大家的回答。很有帮助。 –