首页 > 其他 > 详细

10.7、itertools

时间:2020-04-08 16:45:35      阅读:42      评论:0      收藏:0      [点我收藏+]

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))])

 

10.7、itertools

原文:https://www.cnblogs.com/soberkkk/p/12660088.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!