我有三组的itertools.product,如下所示:
输入:
t1 = set(['R'])
t2 = set(['Y'])
t3 = set(['A', 'C', 'H', 'M', 'T', 'W', 'Y'])
list(itertools.product(t1, t2, t3))
输出:
[('R', 'Y', 'A'), ('R', 'Y', 'C'), ('R', 'Y', 'H'), ('R', 'Y', 'M'), ('R', 'Y', 'T'), ('R', 'Y', 'W'), ('R', 'Y', 'Y')]
但是,如果我尝试压扁它,它会列出一个长列表,但我想要的是:
[('RYA'), ('RYC'), ('RYH'), ('RYM'), ('RYT'), ('RYW'), ('RYY')]
有什么想法吗?
答案 0 :(得分:7)
在列表理解中加入每个元组:
>>> [''.join(p) for p in itertools.product(t1, t2, t3)]
['RYH', 'RYA', 'RYC', 'RYY', 'RYT', 'RYM', 'RYW']