迭代器
- 迭代器是有一个next()方法的对象,在全部元素取出后,会引发StopIteration异常;
- 使用return返回结果,一般是将结果保存至列表,return 列表;
- 列表解析:[expr for iter_var i iterable];
生成器
- 延迟操作。也就是在需要的时候才产生结果,不是立即产生结果。
- 生成器函数:返回使用yield;
- 生成器表达式:使用 (expr for iter_var i iterable);
生成器的好处
- 延迟计算,降低内存使用;
- 减少代码量,增加代码可读性;
使用生成器的注意事项
- 生成器只能遍历一次;
网友评论