擅长:python、mysql、java
<p>在Python 2中,您可以定义自己的生成器函数,如下所示:</p>
<pre><code>def accumu(lis):
total = 0
for x in lis:
total += x
yield total
In [4]: list(accumu([4,6,12]))
Out[4]: [4, 10, 22]
</code></pre>
<p>在Python 3.2+中,您可以使用<a href="http://docs.python.org/3/library/itertools.html#itertools.accumulate" rel="noreferrer">^{<cd1>}</a>:</p>
<pre><code>In [1]: lis = [4,6,12]
In [2]: from itertools import accumulate
In [3]: list(accumulate(lis))
Out[3]: [4, 10, 22]
</code></pre>