def _srange(first, last=None, incr=1):
    if last is None:
        first, last = 0, first
    whole = range(first, last, 1 if incr >= 0 else -1)
    sent = set()
    for stagger in xrange(abs(incr), 0, -1):
        for i in whole[::stagger]:
            if i not in sent:
                sent.add(i)
                yield i
Simple value generator for the 1-20:5 syntax.
dataset/ETHPy150Open sqlboy/fileseq/test/run.py/_srange