假设我有一个像这样的列表,在其中数字以不同的步长递增:
[ 0, 4, 6, 8, 12, 15, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
我希望返回列表中第一个增量为+1的元素的索引。在此示例中,23是从哪个位置开始增量变为+1的第一个位置,它的索引应为8,这就是我想要的输出。
有什么简单而优雅的方法可以实现这个目标?以下是我尝试过的代码:
>>> for (a,b) in zip(l, l[1:]):
... if b-a == 1:
... print(l.index(a))
... break
更新:在这种特定的设置中,一旦增加变得增量化,它将继续保持这种状态。增加可能永远不会变成增量。