如何找到向量列表的笛卡尔积?

别名大师

我遇到了一个问题,目前无法解决问题。基本上,我的数据格式化如下:

  • 有一个带有一定数量元素的Vector(例如,三个,所以让我们(1, 2, 3)作为示例。在这个示例中,尺寸为3。
  • 此向量在列表中重复n次数

所以我在这个例子中有[(1, 2, 3), (1, 2, 3)]if n = 2我现在想要的是向量的新列表,其中列表中向量内的每个元素都与其他元素组合在一起。在此示例中,我的预期输出将是:

[(1,1), (1,2), (1,3), (2,1), (2,2), (2,3), (3,1), (3,2), (3,3)]

现在,对于像这样的小列表,可以使用简单的循环来完成,但是我的问题是:我如何编写一个函数,该函数可以为我提供列表x维数和维y数的输入矢量的所有此类组合

邮编

您似乎需要itertools.product

a = [(1,2,3), (1,2,3)]

list(product(*a))
#[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章