zoukankan      html  css  js  c++  java
  • 9 python迭代器、生成器

     1 ### 使用生成器,产生迭代器
     2 
     3 list1=["享学",'python','2111']
     4 list2=("享学",'python','2111')
     5 it1=iter(list1)  ##使用iter生成器, 返回it1 迭代器
     6 it2=iter(list2)  ##使用iter生成器 返回it2 迭代器
     7 print type(it1)  ## 查看迭代器类型
     8 print type(it2)
     9 
    10 print (next(it1))    ## 使用next函数操作迭代器
    11 print (next(it1))
    12 print (next(it1))
    13 
    14 ## 说明:
    15     生成器,本质上可以理解成是一个特殊函数
    16 
    17 ------------------------- 生成器 ------------------------------------------
    18 ####什么是生成器:
    19 
    20 生成器,是一个函数,此函数比较特殊,函数里面有yeild关键字
    21 
    22 如果一个函数里面有yeild函数,则这个函数则是生成器
    23 
    24 调用生成器,则返回一个迭代器
    25 
    26 
    27 #### 生成器的创建方法
    28 
    29 def func():
    30     print ('step1')
    31     yield
    32     print('step2')
    33     yield
    34     print ('step3')
    35     yield   ## 这里必须要有一个yield
    36 
    37 
    38 id=func()  ## 调用生成器返回一个迭代器,这里只生成迭代器,并不会执行函数体的语句
    39 print(next(id))  ## 操作迭代器
    40 print(next(id))
    41 print(next(id))
    42 
    43 -----------------------------------------------
  • 相关阅读:
    Codechef Observing the Tree
    bzoj 1367: [Baltic2004]sequence
    bzoj 2375: 疯狂的涂色
    bzoj 1455: 罗马游戏
    codevs 1029 遍历问题
    HNOI2004 宠物收养所 (Treap)
    [ZJOI2007] 报表统计
    bzoj 3261: 最大异或和 (可持久化trie树)
    codevs 1001 舒适的路线
    Codechef Dynamic Trees and Queries
  • 原文地址:https://www.cnblogs.com/2mei/p/9254100.html
Copyright © 2011-2022 走看看