news 2026/6/9 23:27:23

Python推导式与生成器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python推导式与生成器

Python推导式和生成器

推导式与生成器

""" 1.回顾列表推导式 [x操作 for x in list if 条件] 2.列表生成器 (x操作 for x in list if 条件) 结论: 列表生成器会返回一个generator对象 原理就是一个算法,快速生成一个列表 3.yield关键字 --控制函数的运行 结论: 当函数使用yield关键字后,函数不会运行,函数的控制权不是自己了,而是generator对象 通过next(返回的generator对象)可以控制函数的运行 yield关键字可以返回返回值 yield跟return的区别: 都是可以返回返回值:都可以停止函数 return返回被调处 yield返回的是一个generator对象 """

区别

特性列表推导式生成器表达式
语法[]包裹()包裹
内存占用一次性生成所有元素,占内存按需生成元素,省内存
可迭代次数可多次迭代只能迭代一次
返回类型列表(list)生成器对象(generator)

示例

#1 回顾list1=[100,200,300,400,500]print("原列表:",list1)list2=[x+1forxinlist1ifx>100]print("新列表:",list2)# 生成器list3=(xforxinrange(5))print(list3)#内存地址#迭代元素#print(next(list3)) #next(list3)相当于一个指针#print(next(list3))#print(next(list3))#print(next(list3))#print(next(list3))#print(next(list3)) #StopIteration 停止迭代try:whileTrue:print(next(list3))exceptStopIterationase:print("迭代完毕")print("运行后")#3 yield ---操作函数#return 1.返回返回值 2.结束函数,返回被调处deftest():print("test")return"这是一个return语句"print("test2")#无效代码test()deftest2():print("A")yield"这是一个yield关键字"print("B")res=test2()try:whileTrue:print(next(res))exceptStopIterationase:print("函数执行完毕")#案例:控制函数执行过程以此输出ABCdeftest3():print("A")yieldprint("B")yieldprint("C")res=test3()try:whileTrue:next(res)exceptStopIterationase:print("函数依次输出ABC,并执行完毕")

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 21:11:58

腾讯HY-MT1.5体验:云端3分钟部署实战

腾讯HY-MT1.5体验:云端3分钟部署实战 你是不是也遇到过这样的情况?作为产品经理,老板让你快速评估一个AI翻译模型的效果,可公司没配GPU服务器,自己又不会搭环境、装依赖,甚至连Python都不太熟。时间紧任务…

作者头像 李华
网站建设 2026/5/27 22:58:52

HsMod终极指南:55项免费功能快速解锁炉石传说全新体验

HsMod终极指南:55项免费功能快速解锁炉石传说全新体验 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 还在为炉石传说繁琐的日常任务而烦恼?HsMod插件为你带来革命性的游戏…

作者头像 李华
网站建设 2026/4/29 15:13:21

从编码困境到AI伙伴:OpenCode如何重塑你的开发工作流

从编码困境到AI伙伴:OpenCode如何重塑你的开发工作流 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手,模型灵活可选,可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 还记得那个深夜&#x…

作者头像 李华
网站建设 2026/6/3 3:36:05

AI写作大师Qwen3-4B部署案例:内容创作平台搭建

AI写作大师Qwen3-4B部署案例:内容创作平台搭建 1. 引言 1.1 业务场景描述 随着内容创作需求的爆发式增长,自动化、智能化的文本生成能力已成为内容平台的核心竞争力之一。无论是撰写技术文档、营销文案,还是生成代码片段和创意小说&#x…

作者头像 李华
网站建设 2026/5/30 0:35:53

Qwen3-4B-Instruct显存溢出?动态批处理部署案例解决难题

Qwen3-4B-Instruct显存溢出?动态批处理部署案例解决难题 1. 背景与挑战:大模型推理中的显存瓶颈 随着大语言模型在通用能力上的持续进化,Qwen3-4B-Instruct-2507作为阿里开源的高性能文本生成模型,在指令遵循、逻辑推理、数学计…

作者头像 李华
网站建设 2026/6/10 0:56:23

3步彻底解决PDF跨设备字体乱码问题

3步彻底解决PDF跨设备字体乱码问题 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目地址: https://gitcode.com/GitHub_Trending/pd/…

作者头像 李华