dk0*_*k09 3 python tuples cartesian-product flatten python-itertools
我有一个三个集的itertools.product,如下所示:
输入:
t1 = set(['R'])
t2 = set(['Y'])
t3 = set(['A', 'C', 'H', 'M', 'T', 'W', 'Y'])
list(itertools.product(t1, t2, t3))
Run Code Online (Sandbox Code Playgroud)
输出:
[('R', 'Y', 'A'), ('R', 'Y', 'C'), ('R', 'Y', 'H'), ('R', 'Y', 'M'), ('R', 'Y', 'T'), ('R', 'Y', 'W'), ('R', 'Y', 'Y')]
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试压扁它,它会列出一个长列表,但我想要的是:
[('RYA'), ('RYC'), ('RYH'), ('RYM'), ('RYT'), ('RYW'), ('RYY')]
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
加入列表理解中的每个元组:
>>> [''.join(p) for p in itertools.product(t1, t2, t3)]
['RYH', 'RYA', 'RYC', 'RYY', 'RYT', 'RYM', 'RYW']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |