按索引组合列表和嵌套列表

Combination of List and Nested List by Index

我的脚本的输出是一个列表和一个嵌套列表。我想按索引获取两个列表的组合。在本例中,我有以下两个列表:

x = [0, 1, 2, 3]

y = [[0, 1, 2, 3],
 [0, 1, 2, 3, 4, 5, 6, 7, 8],
 [0, 1, 2, 3, 4],
 [0, 1, 2, 3, 4, 5, 6, 7, 8]]

所需的输出应如下所示。

[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 
7), (1, 8), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), 
(3, 6), (3, 7), (3, 8)]

我看过很多关于 itertools.combinations 和 itertools.product 的帖子,但我找不到任何关于同时循环和组合的信息,我认为这是解决问题的方法。我想获得所有组合 x[0] 和 y[0],然后是 x[1] 和 y[1],等等

您可以通过列表理解来做到这一点。

x = [0, 1, 2, 3]

y = [[0, 1, 2, 3],
 [0, 1, 2, 3, 4, 5, 6, 7, 8],
 [0, 1, 2, 3, 4],
 [0, 1, 2, 3, 4, 5, 6, 7, 8]]

final = [(i,j) for i in x for j in y[i]]

看来你要做两个数组的正离子乘法。这是参考检查,如果对您有用,请告诉我。 Cartesian product of x and y array points into single array of 2D points