Python:从每个列表中选择一个项目但是尽可能组合

时间:2013-10-17 03:00:13

标签: python list itertools sublist

我希望有一个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]不能。但是,当然,该方法应适用于原始列表中的所有数字和任何数字。

谢谢!

1 个答案:

答案 0 :(得分:9)

我想你想要itertools.product

[p for p in itertools.product(*x)]