反正有没有让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()
Run Code Online (Sandbox Code Playgroud)
运行此代码会产生输出:
a
1
2
3
Crap i skipped C
Run Code Online (Sandbox Code Playgroud)
我知道为什么它给了我输出,但是有一种方法我可以在str()方法中向后退一步吗?
编辑
好吧也许可以让这个更清楚.我不想做完全反向,基本上我想知道是否有一种简单的方法在python中做相当于双向迭代器?