1. 程式人生 > >python學習(迭代器)簡單題目

python學習(迭代器)簡單題目

  1. 迭代器練習題

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