一日一库—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 的缺陷

itertools 排列组合

一日一技:如何从多个Jupyter Notebook中找到需要代码段

Go 每日一库之 reflect

Go 每日一库之 reflect

Go 每日一库之 testing