下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python小屋》之二Python序列2.2元组与生成器推导式生成器推导式从形式上看,生成器推导式与列表推导式非常接近,只是生成器推导式使用圆括号而不是列表推导式使用的方括号。与列表推导式不同的是,生成器推导式的结果是一个生成器对象,而不是列表,也不是元组。使用生成器对象的元素是,可以根据需要将其转化为列表或元组,也可■以使用生成器对象的_next_()方法或者内置函数next。进行遍历,或者直接将其作为迭代器对象来使用。但是不管哪种方法访问其元素,当所有元素访问结束以后,如果需要重新访问其中的元素,必须重新创建该生成器对象。1»>g=((i+2)**2foriinrange(lO))#创建生成器对象2»>g3<generatorobject<genexpr>at0x00000000035414C0>4»>5»>5»>tuple(g)5»>tuple(g)#5»>tuple(g)#将生成器对象转换为元组6(4,9,16,25,36,49,64,81,100,121)6(4,9,16,25,36,49,64,81,100,121)7»>8»>list(g)6(4,9,16,25,36,49,64,81,100,121)7»>8»>list(g)9口#生成器对象已遍历结束,已经没有元素了»>»>g=((i+2)**>»»>g._next_()4»>g._next_()9»>»>next(g)16»>next(g)»>»>g=((i+2)»>»>g=((i+2)**>»»>g._next_()4»>g._next_()9»>»>next(g)16»>next(g)2foriinrange(lO))#使用生成器对象的_next_()方法获取元素#获取下一个元素#使用内置函数next。获取生成器对象中的元素#获取下一个元素2125»>»>»>»>g={(i+2)**2foriinrange(lO))»>»>foriteming:#使用循环直接遍历生成器对象中的元素print(item/end=,')314916253649648110012132»>代码块小提示:(1)生成器对象具有惰性求值的特点,只在需要时返回元素,比列表推导式具有更高的效率,尤其适合大量数据的遍历。拓展知识:生成器对象。包含yield语句的函数也可以用来创建可迭代的生成渊对象。下面的diamante演示了如何使用生成器来生成斐波那契数列。1»>deff():2a,b=l,l#序列解包,同时为多个元素赋值3whileTrue:4yielda#暂停执行,需要时再产生一个新元素5a,b=b,a+b#序列解包,继续生成新元素678»>9»>a=f()#创建生成器对象1011»>foriinrange(lO):#获取斐波那契数列中前10个元素12print(a._next_(),end=")1314151123581321345516»>17»>18»>19»>20»>21»>foriinf():#获取斐波那契数列中第一个大于100的元素22ifi>100:23print(i)24break25262714428>»29»>a=f()30»>next(a)#使用内置函数next。获取生成器对•象中的元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026院感知识考试题及答案
- 妇幼志愿服务资源配置优化策略
- 头颈部鳞癌免疫治疗指南
- 提高卫生间排水立管一次安装合格率
- 大数据分析AKI恢复期降压方案的优化
- 多边卫生合作中IHR的实施挑战与应对策略
- 多组学整合标志物的验证策略
- 2025年中职电梯安装与维修保养(电梯检修技能)试题及答案
- 2025年高职环境设计(环境教学设计)试题及答案
- 2025年大学(环境科学)环境污染监测试题及答案
- 安徽省九师联盟2025-2026学年高三(1月)第五次质量检测英语(含答案)
- (2025年)四川省自贡市纪委监委公开遴选公务员笔试试题及答案解析
- 2026届江苏省常州市高一上数学期末联考模拟试题含解析
- 2026年及未来5年市场数据中国水质监测系统市场全面调研及行业投资潜力预测报告
- 2026安徽省农村信用社联合社面向社会招聘农商银行高级管理人员参考考试试题及答案解析
- 强夯地基施工质量控制方案
- 艺考机构协议书
- 2025年12月27日四川省公安厅遴选面试真题及解析
- 2025-2030中国海洋工程装备制造业市场供需关系研究及投资策略规划分析报告
- 《生态环境重大事故隐患判定标准》解析
- 2025年度吉林省公安机关考试录用特殊职位公务员(人民警察)备考笔试试题及答案解析
评论
0/150
提交评论