while revnums and revnums[-1] in (e, e + 1):
    e = revnums.pop()
ret.append((s, e))
return ret

def __str__(self):
    """Convert the revision set to a string, using its normalized form."""
L = []
for s, e in self.normalized():
    if s == e:
        L.append(str(s))
else:
    L.append(str(s) + '-' + str(e))
return ','.join(L)
Как оптимизировать операции с большими (75 000 элементов) наборами логических значений в Python?