Нарезка отрицательных нулей Python

Мне часто приходится работать с последними 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.

5
задан jamylak 5 July 2012 в 04:54
поделиться