zoukankan      html  css  js  c++  java
  • 模块 itertools

    itertools模块包含创建有效迭代器的函数, 可以用各种方式对数据进行循环操作,此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包含迭代器(生成器的函数表达式)联合使用

    1 . chain(iter1 , iter2, ....itern)

      定义: 此函数创建一个新迭代器来将所有的迭代器链接起来, 返回的迭代器从iter1开始生成项,iter1被用完, 然后从iter2生成项, 这一过程持续到itern所有的项被用完.

      代码实例:

    from itertools import chain
    li = [11,22,33]
    li1 = [55,22]
    ret = chain(li,li1)
    for i in ret:
        print(i)                          #结果是  11,22,33,55,22
    

    2 . chain.from_iterable(iterables):

      定义: 一个备用链构造函数, 其中的iterables是一个迭代变量, 生成迭代序列, 此操作的结果和以下生成器代码片段生成的结果相同:

      代码实例:

    from itertools import chain
    test = chain.from_iterable('ABCDE')
    print(test)
    ret = test.__next__()
    print(ret)
    
    print('*'*23)
    def f(iterables):
        for x in iterables:
            for y in x:
                yield y
    test = f('ANCDD')
    ret = test.__next__()
    ret1 = test.__next__()
    print(ret,ret1)
    

        结果:

    <itertools.chain object at 0x000001AFBF508A90>
    A
    ***********************
    A N
    

    3 combinations(iterable, r)

      定义: 创建一个迭代器, 返回iterable中所有长度为r的子序列,返回的子序列中的项按输入的iterable中的顺序排序:

    from itertools import combinations
    test = combinations([1,2,3,4],2)
    print(test)
    for el in test:
        print(el)
    

    4  count([n]):

      定义:创建一个迭代器,生成从n开始的连续整数,如果忽略n,则从零开始计算 

    from itertools import count
    ret = count(4)
    print(ret)
    print(ret.__next__())
    print(ret.__next__())
    

    5 dropwhile(predicate, iterable):

      定义: 创建一个迭代器, 只要函数predicate为ture, 就丢弃iterable中的项,如果返回false.\,就会生成iterable中的项和所有后续项.

    6 filterfalse(predicate, iterable)

      定义: 创建一个迭代器,仅生成iterable中predicate为false的项, 如果predicate为none,将放回iterable中所有计算为false的项

    import itertools
    ret = itertools.filterfalse(lambda x:x%2, range(10))
    for i in ret:
        print(i)
    

      

  • 相关阅读:
    51nod-1462: 树据结构
    51nod-1363: 最小公倍数之和
    jar包反编译
    js表格某列多行值相同进行行合并
    JS对象转URL参数
    json数组转字符串 前端与后端交互
    element-ui 表格数据根据某一列值相同进行行合并(包括序号列)并同列相同值进行合计
    ssh框架中联合查询所取结果不在单一实体,sql写法
    ajax异步获取数据后动态向构建表格并添加数据
    关于ajax中async: false的作用
  • 原文地址:https://www.cnblogs.com/gyh412724/p/9710024.html
Copyright © 2011-2022 走看看