一日一库—itertools
Posted alplf123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一日一库—itertools相关的知识,希望对你有一定的参考价值。
#一日一库——itertools from itertools import count, chain import operator #=======count========= #count 实现了一个无限累加器,默认从0开始累加,当然我可以给count一个默认初始值 #从这个初始值开始累加 # count 内部实现了__iter__ __next__ 因此它是一个迭代器,可以用通过next来迭代 c = count() print(c) print(next(c)) #0 第一次next返回默认值 print(next(c)) #1 以后则累加 #因此我可以for _ in c 产出无限大小值,但是不建议这样做,容易造成编辑器的卡死 c1 = count(10) print(next(c1)) cc = c1.__next__ print(cc()) #11 print(cc()) #12 #=======chain========= #遍历所有的可迭代的对象,直到所有参数可迭代对象被遍历完,并返回一个生成器; a = chain(‘a我c‘, ‘cde‘, ‘fgh‘) print(a) # 可以通过chain.from_iterables(); print(list(a.from_iterable([‘ac‘, ‘df‘]))) #[‘a‘, ‘c‘, ‘d‘, ‘f #==========================未完===============================
以上是关于一日一库—itertools的主要内容,如果未能解决你的问题,请参考以下文章
一日一技:炸掉你的内存—— itertools.tee 的缺陷