• 10.7、itertools


    1、无线迭代器 count()、cycle()、repeat()

    import itertools
    natuals=itertools.count(1) #从1开始无限叠加
    for n in natuals:
        print(n)
    import itertools
    cs=itertools.cycle('ABC') #无限循环ABC
    for c in cs:
        print(c)

     通过takewhile()等函数根据条件判断来截取出一个有限的序列

    natuals=itertools.count(2)
    ns=itertools.takewhile(lambda x:x<10,natuals)
    list(ns)
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    chain()

    chain()可以把一组迭代对象串联起来,形成一个更大的迭代器:

    groupby()

    groupby()把迭代器中相邻的重复元素挑出来放在一起:

    return sum([(-1) ** (n - 1) * 4 / (n * 2 - 1) for n in itertools.takewhile(lambda i: i <= N, itertools.count(1))])
  • 相关阅读:
    Java第一次作业
    第十一次
    第十次
    第九次
    第八次作业
    第七次
    第六次
    第五次作业
    ##JAVA作业3
    ##Java作业2
  • 原文地址:https://www.cnblogs.com/soberkkk/p/12660088.html
Copyright © 2020-2023  润新知