擅长:python、mysql、java
<p>取<code>numbers</code>和<code>letters</code>的乘积(而不是<code>letters</code>和<code>numbers</code>),然后按<em>相反的</em>顺序连接生成的元组</p>
<pre><code>>>> from itertools import product
>>> [''.join([y, x]) for x, y in product(numbers, letters)]
['abc123', 'def123', 'ghi123', 'abc456', 'def456', 'ghi456']
</code></pre>
<p>对于2元组,<code>y + x</code>就足够了,而不是使用<code>''.join</code></p>
<p>两个列表的乘积就是所有可能的元组的集合,这些元组的创建顺序是从第一个列表中获取一个元素,从第二个列表中获取一个元素</p>
<pre><code>>>> list(product(numbers, letters))
[('123', 'abc'), ('123', 'def'), ('123', 'ghi'), ('456', 'abc'), ('456', 'def'), ('456', 'ghi')]
</code></pre>