擅长:python、mysql、java
<p>我们可以用<code>itertools.product</code>来解决这个问题</p>
<pre><code>from itertools import product
from operator import sub
final = []
for item in array1:
prods = product([item], array2)
subs = [sub(*p) for p in prods]
final.append(subs)
print(final)
# [[5, 4, 3, 2, 1], [6, 5, 4, 3, 2], [7, 6, 5, 4, 3]]
</code></pre>
<p>它的工作原理是product以元组的形式返回两个数组的笛卡尔积,因此:</p>
<pre><code>(6, 1), (6, 2), etc....
</code></pre>
<p>然后我们简单地使用列表理解将<code>sub</code>函数应用于每个元组。你知道吗</p>