zoukankan      html  css  js  c++  java
  • python itertools的使用(转)

    1. chain的使用

    import itertools  
    listone = ['a','b','c']  
    listtwo = ['11','22','abc']  
    for item in  itertools.chain(listone,listtwo):  
        print item  
    
    输出: a b c 11 22 abc
    

    2. count的使用

    i = 0  
    for item in itertools.count(100):  
        if i>10:  
            break  
        print item,  
        i = i+1  
    功能:从100开始数10个数,cout返回一个无界的迭代器,如果引入一个计数I,可以让它计数10次。。
    输出:100 101 102 103 104 105 106 107 108 109 110
    

    3.cycle的使用

    import itertools  
    listone = ['a','b','c']  
    listtwo = ['11','22','abc']  
      
    for item in itertools.cycle(listone):  
        print item,  
    功能:从列表中取元素,到列表尾后再从头取...
    无限循环,因为cycle生成的是一个无界的失代器
    输出:a b c a b c a b c a b c a b c a b c a b c a b c a b c...
    

    4.ifilter的使用,ifilter(fun,iterator)返回一个可以让fun返回True的迭代器

    import itertools  
    
    def funLargeFive(x):  
        if x > 5:  
            return True  
          
    for item in itertools.ifilter(funLargeFive,range(-10,10)):  
        print item,  
    结果:6 7 8 9
    

    5. imap的使用,imap(fun,iterator)返回一个迭代器,对iterator中的每个项目调用fun

    import itertools  
    
    listthree = [1,2,3]  
    def funAddFive(x):  
        return x + 5  
    for item in itertools.imap(funAddFive,listthree):  
        print item,  
    返回:6 7 8  对listthree中的元素每个加了5后返回给迭代器
    

    6.islice的使用,islice()(seq, [start,] stop [, step])

    import itertools  
    listone = ['a','b','c']  
    listtwo = ['11','22','abc']  
    listthree = listone + listtwo  
    for item in itertools.islice(listthree,3,5):  
        print item,  
    功能:返回迭代器,其中的项目来自 将seq,从start开始,到stop结束,以step步长切割后
    打印出:11 22
    

    7.izip的使用,izip(*iterator)

    import itertools  
    listone = ['a','b','c']  
    listtwo = ['11','22','abc']  
    listthree = listone + listtwo  
    for item in itertools.izip(listone,listtwo):  
        print item,  
    结果:('a', '11') ('b', '22') ('c', 'abc')
    功能:返回迭代器,项目是元组,元组来自*iterator的组合
    

    8. repeate,repeate(elem [,n])

    import itertools  
    listone = ['a','b','c']  
    for item in itertools.repeat(listone,3):  
        print item,  
    
    结果:['a', 'b', 'c'] ['a', 'b', 'c'] ['a', 'b', 'c']
    
  • 相关阅读:
    (转)视频编码标准汇总及比较
    (转)live555从RTSP服务器读取数据到使用接收到的数据流程分析
    (转)MPEG4码流简单分析
    H264裸流分析中,能获取哪些信息?
    (转)基于live555的流媒体代理转发服务器
    测试x264编码器的低延时编码和非延时编码
    ELK 日志分析系统
    Dubbox:来自当当网的SOA服务框架
    CHMOD命令怎么用?
    linux显示文件列表命令ls,使用ls --help列出所有命令参数
  • 原文地址:https://www.cnblogs.com/nyist-xsk/p/7475364.html
Copyright © 2011-2022 走看看