6

我希望有一个 itertools 功能,但我一直找不到。我希望 Python 从列表的每个子列表中选择一个项目,并保持顺序,与它们进行所有可能的组合。例如,希望

x = [[1,2,3],[1,2,3,4],[1,2,3,4,5]]

可能成为

[[1,1,1],[1,1,2],[1,1,3],[1,1,4],[1,1,5],[1,2,1]...]

并且此输出将包含每个子列表中的一项,因此 [5,5,5] 和 [4,4,5] 都不会包含在其中。此外,由于顺序很重要,虽然 [3,4,5] 可以在输出中,但 [5,4,3] 不能。但是,当然,该方法应该适用于原始列表中的所有和任何数字。

谢谢!

4

1 回答 1

10

我想你想要itertools.product

[p for p in itertools.product(*x)]
于 2013-10-17T03:01:53.663 回答