擅长:python、mysql、java
<p>这就是python的优点和缺点:当列表不为空时,索引<code>-1</code>总是有效的,这会导致程序不会崩溃,但不会做您想做的事情。你知道吗</p>
<p>对于这些操作,最好使用<code>zip</code>将列表与不带第一个数字的自身切片版本交错:</p>
<pre><code>A = [86.14803712, 85.25496701, 86.50334271, 86.0266668, 86.61455594, 86.90445213, 86.65519315, 87.10116762, 87.08173861]
diffs = [ac-ap for ac,ap in zip(A[1:],A)]
</code></pre>
<p>或使用<code>itertools.islice</code>以避免创建新列表进行迭代:</p>
<pre><code>import itertools
diffs = [ac-ap for ac,ap in zip(itertools.islice(A,1,None),A)]
</code></pre>
<p>结果(8个值):</p>
<pre><code>[-0.8930701099999965, 1.2483756999999969, -0.4766759099999973, 0.5878891400000015, 0.2898961899999932, -0.24925897999999336, 0.4459744699999959, -0.019429009999996083]
</code></pre>