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

本文共 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

你可能感兴趣的文章
Java IO流详尽解析
查看>>
邮件服务系列之四基于虚拟用户的虚拟域的邮件系统(安装courier-authlib以及部分配置方法)...
查看>>
Linux VSFTP服务器
查看>>
DHCP中继数据包互联网周游记
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
项目管理心得
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
通过vb.net 和NPOI实现对excel的读操作
查看>>
TCP segmentation offload
查看>>
java数据类型
查看>>
数据结构——串的朴素模式和KMP匹配算法
查看>>
FreeMarker-Built-ins for strings
查看>>
验证DataGridView控件的数据输入
查看>>
POJ1033
查看>>
argparse - 命令行选项与参数解析(转)
查看>>
一维数组
查看>>
Linux学习笔记之三
查看>>