Use an end of slice value of -i or None
. If i
is non-zero, then it's just -i
, but if it's 0
, then -0
is falsy, and it evaluates and returns the second term, None
, which means "run to end of sequence". This works because foo[:None]
is equivalent to foo[:]
, when you omit that component of the slice it becomes None
implicitly, but it's perfectly legal to pass None
explicitly, with the same effect.
So your new line would be:
dot = np.dot(x[:-i or None], x[i:])
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…