第5.5章 迭代器与生成器——《CookBook笔记》

手动访问迭代器中的元素

可迭代对象

迭代器对象

调用next

委托迭代

定义__iter__方法,将迭代请求委托到,对象内部的容器

生成器创建自定义迭代

函数中出现了yield,转变为生成器

只有在响应迭代操作才运行

实现迭代协议

简单方案:实现生成器

反向迭代

reversed

要求: 长度确定,或实现了__reversed__

否则先转化为列表

定义有额外状态的生成器函数

类,实现iter为生成器函数

类实例,提供内部属性访问

生成器需要与程序其他部分交互

暴露属性,允许方法调用来获得控制

需要额外调用一次iter,提取类中的迭代器

迭代器切片

itertolls.islice

产生迭代器,访问需要的数据

跳过开头一部分迭代元素

itertools.dropwhile

对可能的组合与排列

itertools.permutations

     .combinations

指定:长度,是否允许重复

猜你喜欢

转载自www.cnblogs.com/qmcj/p/9150070.html
今日推荐