Python中两个元组中元素之间的组合

And*_*rej -4 python tuples

我有两个元组:

t1 = ('A', 'B')
t2 = ('C', 'D', 'E')
Run Code Online (Sandbox Code Playgroud)

我想知道如何在元组之间创建组合,因此结果应该是:

AC, AD, AE, BC, BD, BE
Run Code Online (Sandbox Code Playgroud)

编辑

运用

list(itertools.combinations('abcd',2))
Run Code Online (Sandbox Code Playgroud)

我可以为给定的字符串生成组合列表:

[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
Run Code Online (Sandbox Code Playgroud)

如果我插入元组而不是字符串,则会发生以下错误:

TypeError: sequence item 0: expected string, tuple found
Run Code Online (Sandbox Code Playgroud)

有什么建议怎么办?

Thi*_*ter 9

itertools.product完全符合您的要求:

>>> import itertools
>>> t1 = ('A', 'B')
>>> t2 = ('C', 'D', 'E')
>>> list(itertools.product(t1, t2))
[('A', 'C'), ('A', 'D'), ('A', 'E'), ('B', 'C'), ('B', 'D'), ('B', 'E')]
>>> [''.join(x) for x in itertools.product(t1, t2)]
['AC', 'AD', 'AE', 'BC', 'BD', 'BE']
Run Code Online (Sandbox Code Playgroud)