擅长:python、mysql、java
<p>使用内置的Python模块和函数,有很多方法可以做到这一点</p>
<p>给出以下列表:</p>
<pre><code>A = [1,2,3,4,5]
B = [4,5,6,7,8]
</code></pre>
<p>可以使用<code>zip</code>函数从两个列表中创建元素对:</p>
<pre><code>prod = list(zip(A,B))
print(prod)
</code></pre>
<p>输出:</p>
<pre><code>[(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]
</code></pre>
<p>从这里,您可以通过以下方式进行:</p>
<p><strong>1)使用列表理解:</strong></p>
<pre><code>res = sum(a*b for a,b in prod[:3])
print(res)
</code></pre>
<p>输出:</p>
<pre><code>32
</code></pre>
<p><strong>2)使用<code>map</code>函数:</strong></p>
<pre><code>res = sum(map(lambda i: i[0]*i[1], prod[:3]))
print(res)
</code></pre>
<p>输出:</p>
<pre><code>32
</code></pre>
<p><strong>3)使用来自<code>itertools</code>模块的<code>reduce</code>函数:</strong></p>
<pre><code>from functools import reduce #Need to import only if you're using Python 3
import operator
res = sum(reduce(operator.mul, data) for data in prod[:3])
print(res)
</code></pre>
<p>输出:</p>
<pre><code>32
</code></pre>