python 生成式,生成器,迭代器,可迭代
2024-09-01 06:13:37
1.生成器就是迭代器
2.生成式用[](中括号)包起来,生成器用()(圆括号)包起来
3.生成式在使用前已经在内存中存在,生成器只有在使用时才生成
4.迭代器是可以用.__next__()不断取出下一值,直到抛出异常。生成式不可以用.__next__()方法
5.可迭代是说可以用 for循环方法不断取出里面的值,例如 for i in range(5):print(i)
# 列表生成式 ,可以生成一个列表。
list_1 = [i for i in range(10)]
print(list_1) # 执行结果 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] list_2 = [i*2 for i in range(10)]
print(list_2) # 执行结果 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
# 生成器,可以用.__next__()不断取出下一值,直到抛出异常。
generator_1 = (i for i in range(10))
print(generator_1) # 执行结果 <generator object <genexpr> at 0x0000020D318AA9C8>
print(generator_1.__next__()) # 执行结果 0
print(generator_1.__next__()) # 执行结果 1
print(generator_1.__next__()) # 执行结果 2
print(generator_1.__next__()) # 执行结果 3
print(generator_1.__next__()) # 执行结果 4 ,可以一直调用generator_1.__next__(),直到抛出异常。
最新文章
- Python的高级特性12:类的继承
- UIView和CALayer的区别
- SecureCRT使用小技巧
- mac 安装tomcat
- JavaScript实现级联下拉框
- iOS导航栏-导航栏透明
- CSS动画:Transform中使用频繁的scale,rotate,translate动画
- 很久之前写的Ajax库
- (跨平台)cocos2d-x C++ or Object-C(前端)调用C# webservices(后台),实现交叉编译到Android/IOS/WinPhone等移动终端设备
- Linux终端颜色和标题设置
- 为什么要用深度学习来做个性化推荐 CTR 预估
- JSPatch 热更新
- SqlCommand.Parameters的使用
- 接口自动化测试 (三)request.post
- Django-组件拾遗
- 自学Linux Shell7.1-linux用户账户和组
- POJ1751 Highways【最小生成树】
- mysql 案例~ mysql故障恢复
- hdu 4548 美素数 超级大水题
- 关于IFrame表述正确的有:()
热门文章
- sqlserver2014创建数据库时,错误提示如下:尝试打开或创建物理‘c:\数据库\db.mdf’时,Create File遇到操作系统错误5(拒绝访问)
- 第三章 JavaScript操作Dom对象
- java 第五章
- PHP与ECMAScript_7_流程控制
- Nginx 的简单使用 (IIS,Asp.Net)
- 【JDK】JDK源码分析-TreeMap(1)
- Golang Context 包详解
- String常量池和intern方法
- solidity智能合约字节数最大值及缩减字节数
- Oracle 存储过程批量插入数据