zoukankan      html  css  js  c++  java
  • 迭代器及生成器

    #!/user/bin/env python
    #--*-- coding:"utf-8--*--"
    # 1迭代器必需遵循迭代协议,需要使用iter转换为遵循迭代协议,必须能够使用next方法。for相当于进行了iter和next两个方法。把序列
    # 转换为了可迭代序列
    # 例1
    # x="hellow"
    # c=x.__iter__()
    # print(type(c))
    # print(c.__next__())
    # print(c.__next__())
    # print(next(c))
    # 例2
    # list1=[1,2,3,4,5,6]
    # for l1 in list1:#等同于进行了 list1.__iter__() 和next(list1.__iter__())操作
    # print(l1)
    # # 在没有迭代器的时候 取出来元素方法
    # index=0
    # while index <len(list1):
    # print(list1[index])
    # index += 1
    # 对于序列的可以使用这一方法,但是对于一些无序的,比如 字段 元祖 还有文本就不适合上面的这种方法了
    # 对于文本可以一样使用此操作,
    # 2.生成器两种方式,一种是函数式def,用yield替代return返回迭代值,
    # 例1
    # import time
    # def shenghaizi():
    # print("开始生孩子了。。")
    # time.sleep(3)
    # yield ("我")
    # time.sleep(3)
    # yield("开始生儿子")
    # time.sleep(3)
    # yield("开始生孙子")
    # res=shenghaizi()
    # print(res.__next__())
    # print(next(res))
    # print(next(res))
    # 例2:
    # def chibaozi():
    # baozi=[]
    # for chi in range(1,6):
    # baozi.append("开始吃包子%s" %chi)
    # return baozi
    # bzs=chibaozi()
    # print(bzs)
    # import time
    # def mbz():
    # for iz in range(1,6):
    # print("开始蒸包子。。")
    # yield "开始蒸第%s笼" %iz
    # print("开始卖包子")
    # time.sleep(3)
    # res=mbz()
    # print(next(res))
    # print(next(res))
    # print(next(res))
    # print(next(res))
    # print(next(res))
    # 3,三元表达式
    # for i in range(1,11):
    # if i>5:
    # print("开始造第%s个" %i)
    # 改造成三元表达式就是下面这个样子
    # list1=["开始造第%s个" %i for i in range(1,11)]#只能用三元 可以用两元但是没有四元
    # list2=["开始造第%s个" %i for i in range(1,11) if i>4]
    # print(list1)
    # print(list2)

  • 相关阅读:
    Security+考试通过心得
    Splunk Power User认证
    Splunk笔记
    关于工作
    智能合约安全-parity多重签名钱包安全漏洞
    kickstart构建Live CD 添加文件问题
    Local Authentication Using Challenge Response with Yubikey for CentOS 7
    计算Linux权限掩码umask值
    IntelliJ IDEA 常用快捷键
    关于常量池-----小例子
  • 原文地址:https://www.cnblogs.com/Centwei/p/10283633.html
Copyright © 2011-2022 走看看