擅长:python、mysql、java
<p>这称为相邻差。让你的方法奏效:</p>
<pre><code>itElement = iter(elementList)
a = next(itElement)
for b in itElement:
elementSize1 = b - a
percentOfPathElement.append(elementSize1/pathLength)
a = b
</code></pre>
<p>在每次迭代中打印<code>a</code>和<code>b</code>会得到:</p>
<pre><code>0.05 0.07
0.07 0.08
0.08 0.15
0.15 0.25
0.25 0.32
0.32 0.4
</code></pre>
<p>和<code>percentOfPathElement</code>作为:</p>
<pre><code>[0.05000000000000001, 0.024999999999999988, 0.17499999999999996, 0.25, 0.17500000000000002, 0.20000000000000004]
</code></pre>
<p>如果需要漏掉最后一个元素,请将<code>itElement = iter(elementList)</code>更改为<code>itElement = iter(elementList[:-1])</code>。你知道吗</p>
<p>您还可以使用列表理解,例如(从Kasra AD修改而来):</p>
<pre><code>percentOfPathElement = [(b - a) / pathLength for a, b in zip(elementList, elementList[1:])]
</code></pre>
<p>或(由Blckknght修改):</p>
<pre><code>import operator
percentOfPathElement = [diff / pathLength for diff in map(operator.sub, elementList[1:], elementList)]
</code></pre>
<p>它们的工作方式与第一个版本相同,但可能更难理解。你知道吗</p>