Python 笛卡尔积

5 投票
1 回答
7506 浏览
提问于 2025-04-17 12:08

可能重复的问题:
在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 个回答

6

我会使用 itertools.product() 这个工具:

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

撰写回答