python之路---12 生成器 推导式
2024-08-22 10:03:35
三十、函数进阶
1.生成器 函数中有yield 的就是生成器函数(替代了return)
本质就是迭代器 一个一个的创建对象 节省内存
①创建生成器 最后以yield结束
1. 通过⽣成器函数
2. 通过各种推导式来实现⽣成器
3. 通过数据的转换也可以获取⽣成器
②send用法
send 和 __next__都是下一个的意思
但send可以给上一个yield 位置传值 不能给最后⼀个yield发送值. 在第⼀次执⾏⽣
成器代码的时候不能使⽤send()
③yield from
把一个yield from循环完再循环下一个yield from
2.推导式 (只有列表,字典,集合 . 没有元组)
1). 列表推导式 [ 结果 for循环 if 条件]
2).字典推导式 { 结果(k,v) for循环 if 条件}
3).集合推导式 {k for循环 if 条件}
集合的特点: ⽆序, 不重复. 所以集合推导式⾃带去重功能
3.生成器函数
1).生成器表达式 (i for i in range(10))
2).可以使⽤for循环来循环这个⽣成器:
3).⽣成器表达式也可以进⾏筛选
4).⽣成器的惰性机制: ⽣成器只有在访问的时候才取值.
最新文章
- 动态作用域与this +apply和call +bind
- Oracle 11g系列:约束
- 初识JNI
- scikit-learn中的主成分分析(PCA)的使用
- git不能提交jar的设置
- ORACLE 常用数值函数
- unable to load default svn client
- LoadRunner中常见参数和变量
- Go学习指南
- TCL_事务控制语言
- 修改UISearBar的文字颜色,placehoder颜色及输入框颜色
- JavaScript的push(),pop(),concat()方法
- [个人介绍]关于Hallmeow
- Spring Security 入门(1-8)缓存EhCache
- Spark技术内幕:Worker源码与架构解析
- 电磁波、无线电、802、WLAN及WiFi的区别与联系
- IDEA与eclipse:vm参数调优笔记
- Python memecache
- 敏捷项目管理工具-Trello(电子看板)
- OpenVPN多处理之-多队列TUN多实例