擅长:python、mysql、java
<p>使用<code>itertools.product()</code>:</p>
<pre><code>from itertools import product
lsts = [['A', 'G'], ['A', 'C', 'G'], 'T']
output = [''.join(combo) for combo in product(*lsts)]
</code></pre>
<p><code>*lsts</code>语法将<code>lsts</code>中的每个元素作为一个单独的参数应用于<code>products()</code>函数;就像调用<code>product(['A', 'G'], ['A', 'C', 'G'], 'T')</code>一样。你知道吗</p>
<p>演示:</p>
<pre><code>>>> from itertools import product
>>> lsts = [['A','G'],['A','C','G'],'T']
>>> [''.join(combo) for combo in product(*lsts)]
['AAT', 'ACT', 'AGT', 'GAT', 'GCT', 'GGT']
</code></pre>
<p>对于相同的输出,可以将嵌套列表缩减为字符串:</p>
<pre><code>lsts = ['AG', 'ACG','T']
</code></pre>
<p>或者,为了保持一致性,将最后一个元素列为一个列表:</p>
<pre><code>lsts = [['A', 'G'], ['A', 'C', 'G'], ['T']]
</code></pre>
<p>但它也适用于混合序列。你知道吗</p>