Python 迭代器

 

实现一个类,功能是传入一个二维的list,找出每个list中的最大值。

并且可以遍历读取。

 

首先需要把继承的接口 Iterable,Iterator引入

from collections import Iterable,Iterator

 

源码
class MyListIterator():

  def __init__(self,l):
    self.l=l
    self.index=0

  def getMax(self,lst):
    return max(lst)

  def next(self):
    if self.index==len(self.l):
      raise StopIteration
    MaxNumber_list=self.l[self.index]
    self.index+=1
    return self.getMax(MaxNumber_list)


class MyListIterable(Iterable):
  def __init__(self,l):
    self.l=l

  def __iter__(self):
    return MyListIterator(self.l)

测试:


for i in MyListIterable([[1,2,3],[4,5,6],[7,8,9]]):
  print i

posted @ 2017-05-30 19:07  我爱测试胜于爱自己  阅读(151)  评论(0)    收藏  举报