擅长:python、mysql、java
<pre><code>from functools import reduce
number = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
even_only = list(filter(lambda x: x % 2 == 0, number))
sum_of_all = reduce((lambda x, y: x + y), even_only)
sum_of_all
110
</code></pre>
<p>现在,您的函数将每个偶数追加到<code>godlike</code>,并打印每个<code>x</code>。我建议使用<code>filter</code>和<code>reduce</code>,如果您想得到所有偶数值的总和。你知道吗</p>
<p>你也可以把<code>even_only</code>和<code>sum_of_all</code>结合起来,一下子就能做到。如果要执行其他操作,Reduce提供了一些灵活性:</p>
<pre><code>sum_of_all = reduce((lambda x, y: x + y),filter(lambda x: x % 2 == 0, number))
sum_of_all
110
</code></pre>
<p>如果只查找总和,则使用<code>sum</code>的附加选项:</p>
<pre><code>sum_of_all = sum(filter(lambda x: x % 2 == 0, number))
sum_of_all
110
</code></pre>
<p><a href="http://book.pythontips.com/en/latest/map_filter.html" rel="nofollow noreferrer">Reduce and Filter</a>的文档</p>