当前位置 : 主页 > 手机开发 > ROM >

一日一库—itertools

来源:互联网 收集:自由互联 发布时间:2021-06-10
# 一日一库——itertools from itertools import count, chain import operator # =======count========= # count 实现了一个无限累加器,默认从0开始累加,当然我可以给count一个默认初始值 # 从这个初始值开始
#一日一库——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

#==========================未完===============================
网友评论