擅长:python、mysql、java
<p>对于任意大的数,情况并非如此,因为两个大数相加需要对数时间来计算这些数的<em>值</em>。如果我们假设总和不会失控,那么我们可以说它是在O(n)</em>中运行的。<code>.insert(…)</code>基本上就是一个<code>.append(…)</code>。追加<em>n</em>项目的<em>摊销</em>成本为<em>O(n)</em>。你知道吗</p>
<p>但是,我们可以通过以下方式提高可读性和内存使用率:</p>
<pre><code>def prefix_soms(number):
Array_A=[1,2,3,4,5,6]
soms=0
for i in range(0,number):
soms += Array_A[i]
return soms
</code></pre>
<p>或:</p>
<pre><code>def prefix_soms(number):
Array_A=[1,2,3,4,5,6]
return sum(Array_A[:number])
</code></pre>
<p>或者我们可以省略创建列表的副本,方法是使用<code>islice(..)</code>:</p>
<pre><code>from itertools import islice
def prefix_soms(number):
Array_A=[1,2,3,4,5,6]
return sum(islice(Array_A, number))
</code></pre>
<p>因此,我们不需要使用其他列表,因为我们只对最后一项感兴趣。你知道吗</p>