Python:找到一个数组和N个数组之间所有可能的组合

2024-04-20 01:14:22 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,我正在寻找一种通用的方法(即itertools),用给定的一维数组和N个一维数组之间的所有可能组合来构建array。你知道吗

下面是一个简化的例子。你知道吗

输入

main = ["a1","a2","a3"]
secondary = [["b1","b2"],["c1","c2","c3"]]

预期产量

[
  ["a1","b1","c1"],
  ["a1","b1","c2"],
  ["a1","b1","c3"],
  ["a1","b2","c1"],
  ["a1","b2","c2"],
  ["a1","b2","c3"],
  ["a2","b1","c1"],
  ["a2","b1","c2"],
  ["a2","b1","c3"],
  ....
  ["a3","b2","c3"]
]

Tags: 方法a2maina1数组arrayb2a3
1条回答
网友
1楼 · 发布于 2024-04-20 01:14:22

你可以用^{}这样做:

from itertools import product

main = ["a1","a2","a3"]
secondary = [["b1","b2"],["c1","c2","c3"]]
[list(a) for a in product(main, *secondary)]

输出:

[['a1', 'b1', 'c1'],
 ['a1', 'b1', 'c2'],
 ['a1', 'b1', 'c3'],
 ['a1', 'b2', 'c1'],
 ['a1', 'b2', 'c2'],
 ['a1', 'b2', 'c3'],
 ['a2', 'b1', 'c1'],
 ['a2', 'b1', 'c2'],
 ['a2', 'b1', 'c3'],
 ['a2', 'b2', 'c1'],
 ['a2', 'b2', 'c2'],
 ['a2', 'b2', 'c3'],
 ['a3', 'b1', 'c1'],
 ['a3', 'b1', 'c2'],
 ['a3', 'b1', 'c3'],
 ['a3', 'b2', 'c1'],
 ['a3', 'b2', 'c2'],
 ['a3', 'b2', 'c3']]

相关问题 更多 >