Python笛卡尔积

时间:2012-02-01 18:21:27

标签: python

  

可能重复:
  Get the cartesian product of a series of lists in Python

我正在试图找出一些我无法理解的逻辑。假设我有以下数据结构:

letters = (
    ('b','c'),
    ('a','e','ee'),
    ('d','f'),
    ('e','y'),
)

我将如何遍历这个以获得所有可能的字符串组合:

bade
cade
bede
cede
beede
ceede
bafe
cafe
befe
cefe
beefe
ceefe
bady
cady
bedy
cedy
beedy
ceedy
bafy
cafy
befy
cefy
beefy
ceefy

1 个答案:

答案 0 :(得分:6)

我使用itertools.product()

for l in itertools.product(*letters):
    print ''.join(l)