美文网首页
设计模式(十八)迭代器模式(Iterator)

设计模式(十八)迭代器模式(Iterator)

作者: 一杯海风_3163 | 来源:发表于2018-02-06 10:16 被阅读0次
    迭代器.png

    思想:节约内存
    意图:
    提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
    适用性:
    访问一个聚合对象的内容而无需暴露它的内部表示。
    支持对聚合对象的多种遍历。
    为遍历不同的聚合结构提供一个统一的接口(即, 支持多态迭代)。

    案例一

    '''
    Interator
    '''
    def count_to(count):
        """Counts by word numbers, up to a maximum of five"""
        numbers = ["one", "two", "three", "four", "five"]
        # enumerate() returns a tuple containing a count (from start which
        # defaults to 0) and the values obtained from iterating over sequence
        for pos, number in zip(range(count), numbers):
            yield number
     
    # Test the generator
    count_to_two = lambda: count_to(2)
    count_to_five = lambda: count_to(5)
     
    print('Counting to two...')
    for number in count_to_two():
        print number
     
    print " "
     
    print('Counting to five...')
    for number in count_to_five():
        print number
     
    print " "
    

    相关文章

      网友评论

          本文标题:设计模式(十八)迭代器模式(Iterator)

          本文链接:https://www.haomeiwen.com/subject/ngiwzxtx.html