有这样的数组:
r1 = [2, 2, -1, -1, -1, -1, -1, 2, 2, 2, -1]
t = [2, -1, -1, -1, -1, -1, 2, 2, 2, -1, -1]
我成对减去它们,得到:
er = [0, -3, 0, 0, 0, 0, 3, 0, 0, -3, 0]
现在我想显示那些非零元素的索引,但它输出:
[1, 6, 1]
1是的6,但为什么最后1呢?
编码:
zc = []
r1 = r[:-1]
t = r[1:]
print(r1)
print(t)
er = [(t - r1) for t, r1 in zip(t, r1)]
print(er)
for i in er:
if i != 0:
zc.append(er.index(i))
print(zc)
在这种情况下,最好使用 for i in range(n) 构造:
在你的代码中,你会得到一个额外的列表,在你看来,最后一个,因为你的列表中有几个等于 -3 的元素,并且 index 方法找到了其中第一个的索引。