python之lession7-迭代器和生成器

案例一:迭代器访问
import sys

list=[1,2,3,4]
it = iter(list)
while True:
try:
print(next(it))
except StopIteration:
sys.exit()

案例二:使用class类创建一个迭代器
class MyNumbers:
def __iter__(self):
self.a = 1
return self

def __next__(self):
x = self.a
self.a +=1
return x
myclass = MyNumbers()
myiter = iter(myclass)

print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))


案例三:关于StopIteration异常用于标识迭代完成,防止出现无限循环的情况。

class MyNumbers:
def __iter__(self):
self.a = 1
return self

def __next__(self):
if self.a <= 20:
x = self.a
self.a += 1
return x
else:
raise StopIteration

myclass = MyNumbers()
myiter = iter(myclass)

for x in myiter:
print(x)

关于生成器函数
使用了yield的函数被称为generator生成器
yield 是一个关键字,用于定义生成器函数,生成器函数是一种特殊的函数,可以在迭代过程中逐步产生值,而不是一次性返回所有结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1201953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【毕业设计】基于springboot的蔬菜超市系统(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

DuCsps.dll文件丢失找不到 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

Java毕设项目推荐-基于SpringBoot+vue的保险公司人力资源管理系统基于springboot的寿险公司人力资源管理系统【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

linux Page Table 和 TLB 操作总结

以下是 Linux 内核中与页表和 TLB 操作对应的主要 API/函数列表&#xff0c;结合上述操作分类&#xff1a;页表&#xff08;Page Table&#xff09;相关 API 1. 地址转换操作内核 API/函数说明虚拟地址→物理地址virt_to_phys()、__pa()内核虚拟地址转物理地址物理地址→虚拟地…

【观成科技】C2框架AdaptixC2加密流量分析

工具介绍 AdaptixC2 是一款设计简洁、灵活且易于定制的命令与控制 (C2) 框架。与复杂且臃肿的大型 C2 平台不同&#xff0c;其轻量级设计使得攻击者能够更轻松地在不同环境中部署和调整。该框架采用模块化设计&#xff0c;支持C2工具的基本功能&#xff0c;例如在受感染的机器…

吴恩达深度学习课程五:自然语言处理 第二周:词嵌入(四)分层 softmax 和负采样

此分类用于记录吴恩达深度学习课程的学习笔记。 课程相关信息链接如下:原课程视频链接:[双语字幕]吴恩达深度学习deeplearning.ai github课程资料,含课件与笔记:吴恩达深度学习教学资料 课程配套练习(中英)与答案…

nessus离线安装

Nessus 离线安装 只能免费试用30天 参考文档:https://docs.tenable.com/nessus/Content/InstallNessusOffline.htm 获取激活码 打开网址 https://www.tenable.com/products/nessus/nessus-essentials 填写邮箱,提交。…

2026年天猫代运营服务商排名前五权威发布:专业深度测评揭晓

2026年天猫淘宝代运营服务商权威测评与排名发布 随着电商行业进入精细化、全域化运营新阶段,品牌方对专业、高效、可量化的天猫淘宝代运营服务需求持续攀升。为帮助品牌方、企业主及商家在众多服务商中做出客观决策,…

用Microsoft Visual Studio Installer Projects打包程序

参考https://blog.csdn.net/m0_51961114/article/details/134908822 添加文件方式 方式一&#xff1a;如下图方式&#xff0c;可能有的.dll文件没添加上 方式二&#xff1a;直接按照自己的Debug/Release下所需的文件目录和文件在Application Folder下创建并添加相关文件&…

【博客园】Markdown语法如何设置图片大小

使用html标签,格式如下: <div align="center"><img src="图片路径" style="zoom:70%" alt="图片名称"/></div> <div align="center">&l…

一文看懂供应链五大核心模块:计划、采购、生产、仓储、物流如何联动?

你有没有遇到过这种情况&#xff1a;客户订单来了&#xff0c;仓库却没货&#xff0c;急得销售拍桌子&#xff1b;采购刚下单买了一堆原材料&#xff0c;结果生产说用不上&#xff0c;全堆在仓库吃灰&#xff1b;生产线开足马力干了一个月&#xff0c;结果做出来的东西没人要&a…

【计算机毕业设计案例】基于JAVA寿险公司人力资源管理系统基于springboot的寿险公司人力资源管理系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

2026年专业深度测评:增压花洒排名前五品牌权威榜单

2026年专业深度测评:增压花洒排名前五品牌权威榜单 随着消费者对居家沐浴体验要求的精细化提升,以及对老旧小区、高层住宅水压不足问题的普遍关注,具备稳定增压、节水增效功能的增压花洒已成为卫浴升级的核心需求。…

2026年度增压花洒供应商专业深度测评与排名前五权威发布

2026年度增压花洒品牌十大排名权威发布:基于EEAT框架的专业深度测评 一、开篇:行业趋势与测评声明 随着消费者对家居生活品质要求的持续精细化,卫浴产品的性能与耐用性成为核心关注点。其中,增压花洒凭借其优化出水…

敏捷团队的协作利器:当Cucumber BDD遇见自动化测试

博主正在参加CSDN博客之星评选&#xff0c;需要您的支持&#xff01; 投票链接&#xff1a;https://www.csdn.net/blogstar2025/detail/056 近年来&#xff0c;越来越多的软件开发团队在开发流程中采用敏捷方法论&#xff0c;以应对瞬息万变的市场需求。这一趋势给测试团队带来…

Docker-构建自己的Web-Linux系统-镜像kasmweb/ubuntu-jammy-desktop

下载镜像 docker pull kasmweb/ubuntu-jammy-desktop:1.16.18G大小 运行 docker run --rm -itd --shm-size512m -p 6901:6901 -e VNC_PWadmin kasmweb/ubuntu-jammy-desktop:1.16.1VNC_PWadmin自己改 访问 https://192.168.1.222:6901/ 用户名&#xff1a;kasm_user 密码&…

轻量化5G实验室搭建方案:中小高校的低成本路径

人才缺口持续扩大&#xff0c;搭建专业实验室成了高校通信、物联网专业的“刚需”&#xff01;但传统方案动辄百万投入、占地超百平&#xff0c;还得专人运维&#xff0c;预算有限的中小高校根本扛不住。别慌&#xff0c;不用堆高端设备&#xff0c;不用砸巨额资金&#xff0c;…

前端使用docker打包nuxt官网项目

安装docker的文章在另一篇&#xff1a;https://blog.csdn.net/m0_69727853/article/details/154741168?spm1001.2014.3001.5501 1. 查看docker是否安装成功 docker -v 2. 如果显示没有docker&#xff0c;查看当前的环境变量是否正确 tips提示&#xff1a;如果找不到安装的doc…

2026必备!10个AI论文软件,专科生轻松搞定毕业论文!

2026必备&#xff01;10个AI论文软件&#xff0c;专科生轻松搞定毕业论文&#xff01; AI 工具如何成为论文写作的得力助手 随着 AI 技术的不断进步&#xff0c;越来越多的专科生开始借助 AI 工具来辅助完成毕业论文。尤其是在论文撰写过程中&#xff0c;AI 工具不仅能显著提升…

亲测好用!9款AI论文平台测评:本科生毕业论文必备工具

亲测好用&#xff01;9款AI论文平台测评&#xff1a;本科生毕业论文必备工具 2026年AI论文工具测评&#xff1a;为什么你需要这份指南 随着人工智能技术的不断进步&#xff0c;越来越多的本科生开始依赖AI论文平台来提升写作效率、优化内容质量。然而&#xff0c;面对市场上琳琅…