Skip to content

Instantly share code, notes, and snippets.

@haldun
Created November 23, 2013 16:12
Show Gist options
  • Save haldun/7616496 to your computer and use it in GitHub Desktop.
Save haldun/7616496 to your computer and use it in GitHub Desktop.
word iterator like smth
class MyIterator(object):
def __init__(self, sentence):
self.sentence = sentence
self.index = 1
self.step = 1
def __iter__(self):
return self
def next(self):
if self.index >= len(self.sentence):
raise StopIteration
prev, current = self.sentence[self.index - 1], self.sentence[self.index]
self.index += self.step
self.step = 1
return prev, current
def skip(self, step):
self.step = step
sentence = 'The quick brown fox jumps over the lazy dog'.split()
iterator = MyIterator(sentence)
for prev, current in iterator:
print "prev: %s, current: %s" % (prev, current)
if current.startswith('o'):
iterator.skip(2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment