В любом случае, чтобы итератор списка python мог вернуться назад?
В основном у меня это
class IterTest(object):
def __init__(self, data):
self.data = data
self.__iter = None
def all(self):
self.__iter = iter(self.data)
for each in self.__iter:
mtd = getattr(self, type(each).__name__)
mtd(each)
def str(self, item):
print item
next = self.__iter.next()
while isinstance(next, int):
print next
next = self.__iter.next()
def int(self, item):
print "Crap i skipped C"
if __name__ == '__main__':
test = IterTest(['a', 1, 2,3,'c', 17])
test.all()
Запуск этого кода приводит к выводу:
a
1
2
3
Crap i skipped C
Я знаю, почему он дает мне вывод, однако есть ли способ, которым я могу шагнуть назад в методе str(), одним шагом?
ИЗМЕНИТЬ
Хорошо, возможно, чтобы это стало яснее. Я не хочу делать полный оборот, в основном, что я хочу знать, есть ли простой способ сделать эквивалент итератора двунаправленного в python?