Python生成器表达式
原文地址
先看一个列表推导式
l = [i for i in range(10)] print(l) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
生成器表达式
#生成器表达式 g1 = (i for i in range(10)) print(g1) # <generator object <genexpr> at 0x00000228C7A824C8> for i in g1:print(i, end=' ') print() # 0 1 2 3 4 5 6 7 8 9 # 注意这时候生成器g1已经被用完了,就是指针已经走到了末尾,无法再__next__()了
从内部语法上,生成器表达式跟列表推导式的语法是一样的,只是在外部,列表推导式使用中括号[]来接受,生成器表达式使用小括号来接收
通过list()方法可以将生成器转换成列表
g2 = (i for i in range(10, 20)) print(g2) # <generator object <genexpr> at 0x00000228C7A824C8> print(list(g2)) # [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] # 注意这时候生成器g2已经被用完了,就是指针已经走到了末尾,无法再__next__()了
不管怎么用,生成器都只能顺序用一次,用一圈就不能用了
参考文献
生成器,内置函数Ⅰ
Python生成器表达式相关推荐
- python 生成器表达式_Python中的列表理解与生成器表达式
python 生成器表达式 The list is a collection of different types of elements and there are many ways of cre ...
- python 生成器表达式(构建器表达式)
生成器函数可以简化迭代器的创建.在迭代器的基础上,只要在函数中使用 yield 语句来替代结果的输出,就变成了一个生成器函数. 生成器函数与普通函数最显著的不同就是它没有 return 语句,取而代之 ...
- python生成器表达式_python 生成器和生成器表达式
1.生成器 生成器的本质就是迭代器 生成器的特点和迭代器一样.取值方式和迭代器一样(__next__(),send():给上一个yield传值) 生成器一般由生成器函数或者生成器表达式来创建 其实就是 ...
- [转载] Python中的解析式和生成器表达式
参考链接: Python | 生成器表达式 解析式和生成器表达式 列表解析List Comprehension 语法 [返回值 for 元素 in 可迭代对象 if 条件]使用中括号[],内部是for ...
- python 生成器装饰器_对Python生成器、装饰器、递归的使用详解
1.Python生成器表达式 1).Python生成器表达式 语法格式: (expr for iter_var in iterable) (expr for iter_var in iterable ...
- Python进阶3——列表解析式和生成器表达式
列表解析式相比循环更加简介易读 abc='abcdef' codes1=[] for code in abc:codes1.append(ord(code))#返回字符对应的十进制数.codes2=[ ...
- Python 进阶_生成器 生成器表达式
目录 目录 相关知识点 生成器 生成器 fab 的执行过程 生成器和迭代器的区别 生成器的优势 加强的生成器特性 生成器表达式 生成器表达式样例 小结 相关知识点 Python 进阶_迭代器 & ...
- python迭代器和生成器(3元运算,列表生成式,生成器表达式,生成器函数)
1.1迭代器 什么是迭代器: 迭代器是一个可以记住遍历的位置对象 迭代器对象从集合的第一个元素元素开始访问,直到所有元素被访问完结束,迭代器只能往前不会后退. 迭代器有两个基本方法:iter ,nex ...
- python 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
一.三元表达式 语法:[成立1 if condition1 else成立2 if condition2 else ...if 成立N conditionN else 不成立] sex = 'man' ...
最新文章
- 初学者 | 一文读懂命名实体识别
- IBM Watson大裁70% 员工,撕掉了国内大批伪AI企业最后一块遮羞布!
- android 解决ListView点击与滑动事件冲突
- 7、MySQL设置日志输出方式
- 重磅!《Apache Flink 十大技术难点实战》发布
- apache ab压力测试学习
- Office文档模型深入---Outlook文档模型与开发实战(1)
- kali root默认密码_Kali Linux root 默认密码是:toor
- 【AI视野·今日Sound 声学论文速览 第一期】Thu, 14 Apr 2022
- Java枚举(用Java普通类模拟枚举的实现原理及JDK枚举API使用示例)
- 【体系结构】Oracle实例崩溃恢复原理
- 为什么我们要阅读源码?
- mysql 一条记录的某个字段为空,是否占用存储
- 软件开发中的非功能需求类型
- Windows10上安装VS2017社区版操作步骤
- VMware Workstation Pro 安装教程
- QT界面窗口的显示和隐藏,关闭
- c语言对称矩形的判定,八年级数学下册 第19章 矩形、菱形与正方形 19.1.2 矩形的判定教案 (新版)华东师大版...
- CCF-CSP-2015年9月-题解
- 网关和路由器交换机功能的有哪些不同
热门文章
- ARM 裸机程序学习 03 - 发送SOS信号(汇编 + C)
- 基于React全家桶开发「网易云音乐PC」项目实战(一)
- Bert最新进展,继续在NLP各领域开花结果!
- 【Unity VR开发窍门】如何在Unity中以VR视角捕捉游戏360度全景(三)
- 智能信息处理技术研讨会(天津大学)个人记录
- Linux进程相关命令
- java中常用的日期工具类
- window.print() 去掉页眉页脚及打印链接
- 游戏开发小结——在unity3d中开发类塞尔达游戏的反冲效果
- html显示未定义,(X)HTML中的未定义行为?