查找从不同集合中选取每个数字的所有组合

时间:2012-02-15 11:50:14

标签: python combinatorics

我需要生成一系列数字的每个组合,其中每个数字都可以从有限集中选取。

例如:

(1 | 2),(1 | 2),(2 | 3),(2 | 3),(2 | 3),(3 | 4 | 5)

第一个数字可以是1或2,最后一个数字可以是3,4或5。

1,2,2,3,2,4是一个有效的组合,但3,2,2,3,2,4不会。

最简单的方法是什么?

1 个答案:

答案 0 :(得分:4)

itertools.product正是如此:

import itertools

for x in itertools.product('12','12','23','23','23','345'):
    print(', '.join(x))