您如何合并长度不相同的多个2d列表?

问题描述 投票:0回答:1

早上好,我试图将两个或多个长度不相同的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]]]
python-3.x multidimensional-array
1个回答
0
投票

使用嵌套的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]]]

ab分别是AB的子列表。理解将外部A中的for a in A的第一个成员作为对象,并循环遍历B的每个子列表,依次将每个子列表添加到a。然后,选择a中的下一个A,并且该过程一直重复直到没有A的成员为止。

© www.soinside.com 2019 - 2024. All rights reserved.