python怎么后退_使python迭代器向后退?

无论如何,要使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中的 双向 迭代器?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值