zoukankan      html  css  js  c++  java
  • 【Python学习】iterator 迭代器小练习

    http://anandology.com/python-practice-book/iterators.html 

    Problem 1: Write an iterator class reverse_iter, that takes a list and iterates it from the reverse direction. ::

    >>> it = reverse_iter([1, 2, 3, 4])
    >>> it.next()
    4
    >>> it.next()
    3
    >>> it.next()
    2
    >>> it.next()
    1
    >>> it.next()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    StopIteration

    写了一个,倒是实现了,不知道是不是全世界效率最低的。

    class reverse_iter:
    """docstring for ClassName"""
    def __init__(self,target):
    self.current = 0
    self.target = target
    self.len = len(target)
    print self.len
    def next(self):
    if self.current < self.len:
    self.current+=1
    return self.target[self.len-self.current]
    else:
    raise StopIteration()
    def __iter__(self):
    return self

    ri = reverse_iter([1,2,3,4])
    print ri.next()
    print ri.next()
    print ri.next()
    print ri.next()
    print ri.next()

  • 相关阅读:
    扩展性很好的一个分页存储过程
    SQL中列转行
    Server.MapPath() 方法(摘自互联网)
    容易遗忘のSQL
    Linq读取XML
    字节流和字符流
    Java中" "和 ' '
    Spring常用基本注解
    finally和return
    JS 深度clone
  • 原文地址:https://www.cnblogs.com/jin-wen-xin/p/7731815.html
Copyright © 2011-2022 走看看