擅长:python、mysql、java
<p>最后一个例子的复杂度是二次的。一个简单得多的方法就是保持一个连续的总数:</p>
<pre><code>total = 0
for x in list:
total += x.freq # total at this point is equal to the sum in your example
# and total at this point is the grand total
</code></pre>
<p>如果您不需要列表中每个项目的运行总和,而只需要总计,那么请参考<a href="https://stackoverflow.com/questions/6920653/python-summing-class-instances-inside-a-list/6920662#6920662">GaretJax's answer</a>,它使用<code>sum</code>。在</p>
<p>另外,<code>list</code>是一个内置类型,因此您可能不想将其用作变量名(这将覆盖内置)。在</p>