- 迭代器通过iter方法产生可迭代对象,可迭代对象用next方法进行迭代。iter方法返回self
- 只要函数定义体有yield关键字,该函数就是生成器函数。从Python源码中我们知道一个技巧,空的生成器用while False来yield None表示
- 标准库中的生成器:(*iit 表示将it转化为参数列表形式)
- dropwhile(predicate,it) 第一个假的以及之后
- takewhile(predicate,it) 第一个假的之前
- filter(predicate,it) 所有真的
- filterfalse(predicate,it) 所有假的
- islice(it,start,stop,step) 切片
- accumulate(it,[func]) 默认为累加,迭代出Si列表
- enumerate(it,start=0)
- map(func, it1, [it2..]) 以iter为行,相当于对列进行处理
- starmap(func,it) 相当于func(*iit)
- chain(it1...) 合并
- chain.from_iterable(it) 相当于chain(*iit)
- product(it1...repeat=1) ,相当于依次嵌套for循环,重复repeat次。总个数为pi(le(iti))**repeat
- zip(it1,..) 行转列,最短停止则停止
- zip_longest(it..fillvalue=None)行转列,最长停止则停止,缺失用fillvalue补齐
- permutations(it,out_len)产生排列,个数为A(le(iit),out_len)
- combinations(it,out_len)产生组合,个数为C(len(iit),out_len)
- combinations_with_replacement(it,out_len) 不限个数组合
- count(start=0,step=1)无限产生序列
- repeat(item,[times]) 无限重复元素
- cycle(it) 无限重复自己
- groupby(it,key=None) 产出key,group
- all,any,max,min,reduce,sum
网友评论