python基础一 day15 复习
2024-08-30 04:43:43
迭代器和生成器
迭代器
可迭代协议 —— 含有iter方法的都是可迭代的
迭代器协议 —— 含有next和iter的都是迭代器
特点
节省内存空间
方便逐个取值,一个迭代器只能取一次。
生成器 —— 迭代器
生成器函数
含有yield关键字的函数都是生成器函数
生成器函数的特点
调用之后函数内的代码不执行,返回生成器
每从生成器中取一个值就会执行一段代码,遇见yield就停止。
如何从生成器中取值:
for :如果没有break会一直取直到取完
next :每次只取一个
send :不能用在第一个,取下一个值的时候给上个位置传一个新的值
数据类型强制转换 :会一次性把所有数据都读到内存里
生成器表达式
(条件成立想放在生成器中的值 for i in 可迭代的 if 条件)
最新文章
- View and Data API Tips: Hide elements in viewer completely
- BZOJ 2342 &; manachar+最优性剪枝
- DuiLib学习笔记1——编译运行demo
- js 排序Json数组
- atitit. 解决org.hibernate.SessionException Session is closed
- scan design flow(二)
- java 网页页面抓取标题和正文
- HDU3507 Print Article(斜率优化dp)
- leetcode@ [30/76] Substring with Concatenation of All Words &; Minimum Window Substring (Hashtable, Two Pointers)
- Arrays.toString(a)--->;将数组a的值转换为字符串
- Mybatis实战之TypeHandler高级进阶
- 浏览器本地下拉框查询选择js
- docker load导入镜像报错:open /var/lib/docker/tmp/docker-import-970689518/bin/json: no such file or directory
- 过滤器中获取form表单或url请求数据
- Ascending Rating(单调队列)
- 简单使用Google Analytics监控网站浏览行为
- CSS 基础知识
- 【网络编程】socket异常
- 剑指offer二十一之栈的压入、弹出序列
- 由Dialog里面嵌套ListView之后的高度自适应引起的ListView性能优化