关闭

Python设计模式(十六)【迭代器模式】

标签: python设计模式迭代器iterator
1872人阅读 评论(0) 收藏 举报
分类:

人只要不失去方向,就不会失去自己!

"""
Implementation of the iterator pattern with a generator
一个生成器实现迭代器模式
"""
from __future__ import print_function

def count_to(count):
    """由数字编号计数,最多五个"""
    numbers = ["one", "two", "three", "four", "five"]
    # 枚举()返回一个包含计数的元组(默认从0开始)从遍历序列获得值
    for pos, number in zip(range(count), numbers):
        yield number

# 测试生成器
count_to_two = lambda: count_to(2)
count_to_five = lambda: count_to(5)

print('数到2...')
for number in count_to_two():
    print(number, end=' ')

print()

print('数到5...')
for number in count_to_five():
    print(number, end=' ')

print()

运行结果如图:

这里写图片描述

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Iterator(迭代器)设计模式

一、概念 提供一种方法访问一个容器对象中的各个元素,而又不暴露该对象的内部细节。 二、模式结构图
  • Sharing_Li
  • Sharing_Li
  • 2015-12-13 20:22
  • 460

Java设计模式——迭代器模式

网上大部分人说迭代模式的时候,总是以某一种可遍历的对象为例进行介绍。这是可行的,这也是迭代模式的基本原型。当我看到《Head Frist设计模式》中迭代模式的时候,感觉要是能从另一个角度来说明,可能更...
  • u013761665
  • u013761665
  • 2016-03-04 12:39
  • 2326

设计模式--迭代器模式与组合方法模式

迭代器模式是将对对象的遍历封装成迭代器,对外部隐藏对象遍历的具体实现。 而组合方法是实现对处于不同层次的同种对象提供一致性的遍历方法。 首先我们开始讨论迭代器模式。 我们在实践过程中可以遇到这样的...
  • u010953266
  • u010953266
  • 2015-02-15 19:29
  • 576

C++设计模式之迭代器模式

前言 又到年底了,时间真的过的好快啊。最近也非常感伤,总是怀念大学的日子,做梦的时候也常常梦到。梦到大学在电脑前傻傻的敲着键盘,写着代码,对付着数据结构与算法的作业;建立一个链表,遍历链表,打印链表...
  • liujiayu2
  • liujiayu2
  • 2015-04-16 16:29
  • 457

《Head First 设计模式》学习笔记——迭代器模式 + 组合模式

迭代器模式是与集合共生共死的,一般来说,我们只要实现一个集合,就需要同时提供这个集合的迭代器,就像java中的Collection,List、Set、Map等,这些集合都有自己的迭代器。假如我们要实现...
  • huaxi1902
  • huaxi1902
  • 2014-06-02 15:38
  • 968

PHP设计模式——迭代器模式

声明:本系列博客参考资料《大话设计模式》,作者程杰。        迭代器模式:迭代器模式是遍历集合的成熟模式,迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序...
  • jhq0113
  • jhq0113
  • 2015-06-08 22:08
  • 3462

(十七)迭代器模式详解(foreach的精髓)

作者:zuoxiaolong8810(左潇龙),转载请注明出处。                   各位好,很久没以LZ的身份和各位对话了,前段时间为了更加逼真的解释设计模式,LZ费尽心思给设计模式...
  • zuoxiaolong8810
  • zuoxiaolong8810
  • 2013-07-20 22:32
  • 2368

[设计模式笔记]三. 行为型模式--18. Iterator模式(迭代器)对象行为型模式(一)

行为型模式--Iterator模式(迭代器)对象行为型模式 一. 意图             提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示. 二...
  • cay22
  • cay22
  • 2013-10-15 12:01
  • 1497

Java设计模式之迭代子模式

本文继续介绍23种设计模式系列之观察者模式。定义在软件构建过程中,集合对象内部结构常常变化各异,但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这...
  • jason0539
  • jason0539
  • 2015-04-17 07:26
  • 6424

设计模式(行为型)之迭代器模式(Iterator Pattern)

在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历”也为“ 同一种算法在多种集合对象上...
  • yanbober
  • yanbober
  • 2015-05-05 09:25
  • 2655
    个人资料
    • 访问:1201538次
    • 积分:17500
    • 等级:
    • 排名:第651名
    • 原创:312篇
    • 转载:866篇
    • 译文:123篇
    • 评论:290条
    博客专栏
    文章分类
    打赏
    如果你觉得我的文章对您有用,请随意打赏。 微信 支付宝