- 迭代器练习题
Problem 1: Write an iterator class reverse_iter, that takes a list and iterates it from the reverse direction. 写一个迭代器reverse_iter,输入列表,倒序输出列表元素
解:
#-*-coding:UTF-8-*-
from _pyio import __metaclass__
__metaclass__=type
class reverse_iter:
def __init__(self,list):
self.num=len(list)
self.target=list #list绑定到实例对象target
def next(self):
self.num-=1 #num--
if self.num>=0:
return self.target[self.num] #返回
else:
raise StopIteration()#索引越限,则异常
def __iter__(self):
return self
r=reverse_iter([1,2,3,4,5])
for x in r:
print x