早上好,我试图将两个或多个长度不相同的2d列表合并在一起。例如,下面有两个不同的多维列表,它们没有相同的长度。
A=[[1,2,3],[4,7,19]]
B=[[2,4], [3],[5,7,9]]
如果可能的话,我将使用什么代码来获得以下结果。
C=[[[1,2,3,2,4],[1,2,3,3],[1,2,3,5,7,9]],[[4,7,19,2,4],[4,7,19,3],[4,7,19,5,7,9]]]
使用嵌套的list comprehension:
>>> [[a + b for b in B] for a in A]
[[[1, 2, 3, 2, 4], [1, 2, 3, 3], [1, 2, 3, 5, 7, 9]], [[4, 7, 19, 2, 4], [4, 7, 19, 3], [4, 7, 19, 5, 7, 9]]]
a
和b
分别是A
和B
的子列表。理解将外部A
中的for a in A
的第一个成员作为对象,并循环遍历B
的每个子列表,依次将每个子列表添加到a
。然后,选择a
中的下一个A
,并且该过程一直重复直到没有A
的成员为止。