news 2026/5/3 20:46:19

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/5/3 15:20:40

AutoGen Studio实战案例:Qwen3-4B-Instruct-2507在智能客服

AutoGen Studio实战案例:Qwen3-4B-Instruct-2507在智能客服中的应用 1. 引言 随着人工智能技术的快速发展,智能客服系统正从传统的规则驱动模式向基于大语言模型(LLM)的智能代理架构演进。在这一背景下,AutoGen Stud…

作者头像 李华
网站建设 2026/4/27 14:09:20

告别繁琐!这款电子教材下载神器让教育资源获取如此简单

告别繁琐!这款电子教材下载神器让教育资源获取如此简单 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 还在为找不到合适的电子教材而苦恼吗&#xff…

作者头像 李华
网站建设 2026/4/18 10:03:07

嵌入式界面设计:单色图像处理的快速理解路径

嵌入式图形实战:如何用最少资源让单色屏“活”起来?你有没有遇到过这样的场景?项目快上线了,UI设计师发来一个精致的PNG图标,而你的MCU连外部RAM都没有,目标屏幕还是个12864的黑白OLED。想显示点图形&#…

作者头像 李华
网站建设 2026/4/26 12:50:16

Windows 7终极Python安装指南:快速部署最新版本

Windows 7终极Python安装指南:快速部署最新版本 【免费下载链接】PythonWin7 Python 3.9 installers that support Windows 7 SP1 and Windows Server 2008 R2 项目地址: https://gitcode.com/gh_mirrors/py/PythonWin7 还在为Windows 7系统无法安装Python 3…

作者头像 李华
网站建设 2026/5/1 4:02:39

老款Mac现代化升级:OpenCore Legacy Patcher全流程技术解析

老款Mac现代化升级:OpenCore Legacy Patcher全流程技术解析 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 诊断阶段:设备兼容性深度评估 在开始升…

作者头像 李华
网站建设 2026/5/1 2:50:16

Vortex模组管理器完全指南:从零开始掌握游戏模组管理

Vortex模组管理器完全指南:从零开始掌握游戏模组管理 【免费下载链接】Vortex Vortex: Nexus-Mods开发的游戏模组管理器,用于简化模组的安装和管理过程。 项目地址: https://gitcode.com/gh_mirrors/vor/Vortex 还在为游戏模组安装的繁琐流程而头…

作者头像 李华