zoukankan      html  css  js  c++  java
  • Python—迭代器与生成器

    迭代工具函数:作用是生成一个个性化的可迭代对象

    zip(iter1 [,itera2,...]):返回一个zip对象,此对象用于生成一个元组,此元组的个数是由最小的可迭代对象决定,元组内容是可迭代对象iter1和iter2中元素的组合,也可能是iter1和iter2和iter2中元素的组合。

    phone = [10086, 10000, 10010, 95588]
    name = ["中国移动", "中国电信", "中国联通"]
    for z in zip(phone, name):
        print z, type(z)
    
    d1 = dict(zip(phone, name))
    d2 = dict([(10086, "中国移动"), (10000, "中国电信")])
    
    # 模拟zip函数实现的原理
    def myzip(iter1, iter2):
        it1 = iter(iter1)
        it2 = iter(iter2)
        while True:
            a = next(it1)
            b = next(it2)
            yield (a, b)
    phone = [10086, 10000, 10010, 95588]
    name = ["中国移动", "中国电信", "中国联通"]
    for z in myzip(phone, name):
        print z, type(z)
    

    enumerate(iterable [,start]):生成带索引的枚举对象,返回的迭代类型为索引-值对(index-value)对,默认索引从0开始,也可以用start指定。enumerate(name,2)如果不加第二个参数,默认从0开始。

    name = ["中国移动", "中国电信", "中国联通"]
    
    for t in enumerate(name):
        print t, type(t)
    for k, v in enumerate(name, 2):
        print k, v
    
    # for语句等同于while语句,while是从迭代器取值,赋值给变量
    it = iter(enumerate(name, 2))
    while True:
        try:
            k, n = next(it)
            print "序号:", k, "值:", n
        except:
    	    break
    

      

      

  • 相关阅读:
    wpf之依赖属性
    wpf之布局控件
    WPF之绑定
    wpf之触发器
    wpf之样式
    wpf之TreeView
    wpf(五)
    【Javaweb】poi实现通过上传excel表格批量导入数据到数据库
    Java读取批量Excel文件
    Centos上通过yum命令删除有关MySQL
  • 原文地址:https://www.cnblogs.com/liuhaidon/p/11651449.html
Copyright © 2011-2022 走看看