我经常发现自己不得不处理序列中的最后 n 个项目,其中 n 可能是 0。问题是尝试切片[-n:]
在 的情况下不起作用n == 0
,因此需要笨拙的特殊情况代码。例如
if len(b):
assert(isAssignableSeq(env, self.stack[-len(b):], b))
newstack = self.stack[:-len(b)] + a
else: #special code required if len=0 since slice[-0:] doesn't do what we want
newstack = self.stack + a
我的问题是 - 有没有办法在不需要笨拙的特殊外壳的情况下获得这种行为?如果我不必一直检查 0,代码会简单得多。