elementList = [ 0.05, 0.07, 0.08, 0.15, 0.25, 0.32, 0.4 ]
pathLength = elementList[-1]
itElement = iter(elementList)
for a in itElement:
b = next(itElement)
c = next(itElement)
elementSize1 = b - a
percentOfPathElement.append(elementSize1/pathLength)
elementSize2 = c - b
percentOfPathElement.append(elementSize2/pathLength)
我有一个曲线上的点列表,我需要计算它们之间的距离,并将该值/路径长度附加到列表中。你知道吗
所以我需要做:
0.07-0.05
0.08-0.07
0.15-0.08
etc...
如果我运行上面的代码,当它到达循环的末尾时,它会跳过一个计算,因为“a”会转到下一个值,而我确实需要返回一个值。你知道吗
您只需使用
zip
函数,获得欲望对,然后计算子:这称为相邻差。让你的方法奏效:
在每次迭代中打印
a
和b
会得到:和
percentOfPathElement
作为:如果需要漏掉最后一个元素,请将
itElement = iter(elementList)
更改为itElement = iter(elementList[:-1])
。你知道吗您还可以使用列表理解,例如(从Kasra AD修改而来):
或(由Blckknght修改):
它们的工作方式与第一个版本相同,但可能更难理解。你知道吗
相关问题 更多 >
编程相关推荐