【发布时间】:2022-10-06 12:17:20
【问题描述】:
假设我有一个这样的 Python 列表:
a = [70,66,63,-1,-1,68,-1,70]
通过以下代码,我可以获得非减一元素之间的索引差异列表(因为 -1 不会出现在列表的末尾):
res = [idx for idx, val in enumerate(a) if val != -1]
index_diff = [x - res[i - 1] for i, x in enumerate(res)][1:]
index_diff 看起来像这样:
[1, 1, 3, 2]
现在我想做一些调整,因为63和68之间有两个-1,68和70之间有一个-1,我想减去它们之间的-1个数,所以目标应该是这样的:
[1,1,1,1]
任何人都可以帮助解决这个问题吗?