博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
迭代器,生成器,可迭代
阅读量:6705 次
发布时间:2019-06-25

本文共 562 字,大约阅读时间需要 1 分钟。

生成器有两种: 生成器表达式:(x*x for x in [1,2,3]) yield表达式: def fib(max): n, a, b = 0, 0, 1 while n < max: yield b a, b = b, a + b n = n + 1 return 'done' 迭代器,有next()方法可以通过next()不断地获得下一个元素的就是迭代器;生成器也是迭代器。 可以用于for ...in...循环的就是可迭代,比如 dict list tuple str ,迭代器, dict、list、str、tuple可通过iter()函数获得迭代器, Python的for循环本质上就是通过不断调用迭代器的next()函数实现的 for x in [1, 2, 3, 4, 5]: pass 实际上完全等价于: # 首先获得Iterator对象: it = iter([1, 2, 3, 4, 5]) # 循环: while True: try: # 获得下一个值: x = next(it) except StopIteration: # 遇到StopIteration就退出循环 Break

转载于:https://www.cnblogs.com/nanyingge6255/p/6522444.html

你可能感兴趣的文章
mysql简单优化思路
查看>>
tomcat并发优化之三种接收处理请求方式(BIO、NIO、APR)介绍
查看>>
归并排序的实现
查看>>
[日常] C语言中的字符数组和字符串
查看>>
from disk cache 与 from memory cache
查看>>
应用图片加载服务与第三方实现库的解耦
查看>>
高并发的核心技术-幂等的实现方案
查看>>
微波炉炖蛋
查看>>
C#调用C/C++ DLL 参数传递和回调函数的总结
查看>>
非spring组件servlet、filter、interceptor中注入spring bean
查看>>
SQL Server中SELECT会真的阻塞SELECT吗?
查看>>
class path and classloader
查看>>
文字检测与识别 资源
查看>>
外包筛选心得
查看>>
Warning: skipping non-radio button in group
查看>>
dotnet检测类型是否为泛型
查看>>
Android 悬浮窗权限校验
查看>>
使用CefSharp在.Net程序中嵌入Chrome浏览器(九)——性能问题
查看>>
mysql 创建数据库 并设置utf8格式
查看>>
IDA 逆向工程 反汇编使用
查看>>