python基础之生成器,三元表达式,列表生产式
2024-09-25 06:23:10
生成器
1.什么是生成器?
在函数内但凡出现yield关键字,再调用函数就不会执行函数体代码,会返回一个值,该值称为生成器。
生成器的本质就是迭代器。
2.为什么要用生成器?
生成器是一种自定义迭代器的方式
3.如何使用生成器?
和迭代器一样,用next(),for循环,到函数中的yield即会停止
总结yield的功能
1.提供一种定义迭代器的方式
2.yield可以暂停函数,并返回值
yield VS return
相同点:都是在函数内的,都可以有返回值,没有类型的限制,没有个数的限制
不同点:return只能返回一次值,yield可以返回多次值
了解:yield用法:
①yield + 值 常用
②x = yield 函数读到yield就暂停,等待传值,然后赋值给x,传值用g.send(adj)
三元表达式:
res = x if x > y else y 条件成立时返回x,不成立时返回y
列表生产式:
l = [i**2 for i in range(1,10)]
names = [‘alex’,’wxx’,’egon’]
names = [name+’hh’ for name in names if name !=’egon’]
zip:x=[1,2,3] y = [0,0,0]
res = zip(x,y) res为迭代器
max: max(x) x可以是一个可迭代对象
生成器表达式:
g = (i for i in rang(10))
最新文章
- 如何利用谷歌浏览器快速的通过方法名来确定多个js文件中的某一具体文件;
- Android NDK常见配置问题的解决方案
- linux lsmod命令 及相关信息
- Linux命令--系统中常用的查看命令
- STL之迭代器(iterator)
- shell中单引号和双引号
- ";ORA-12154: TNS:could not resolve the connect identifier specified";的解决办法
- UITableView设置cell为不可选?
- leetcode:Add Two Numbers
- Adobe Edge Animate –获取鼠标位置及跟随鼠标功能实现
- 《深入理解javascript原型和闭包系列》 知识点整理
- C# 事件的理解
- 64位linux中使用inet_ntoa报错处理
- iOS原生App与H5页面交互笔记
- 使用bootbox.js(二级务必提交书面和数字到数字中国)
- Python之编程基础(编程语言分类)
- springboot+mybatis+cucumber
- Latex常用软件
- UESTC - 1167 一句话题意
- 005_系统运维之SLA与SLO的关系