2026/2/16 18:10:40
网站建设
项目流程
承德网站制作公司哪家好,wordpress 需要授权吗,网上商城系统软件,wordpress如何删除你好和设置菜单Python推导式和生成器
推导式与生成器
1.回顾列表推导式[x操作 for x in list if 条件]2.列表生成器(x操作 for x in list if 条件)结论:列表生成器会返回一个generator对象原理就是一个算法#xff0c;快速生成一个列表3.yield关键字 --控制函数的运行结论…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[x1forxinlist1ifx100]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)restest2()try:whileTrue:print(next(res))exceptStopIterationase:print(函数执行完毕)#案例控制函数执行过程以此输出ABCdeftest3():print(A)yieldprint(B)yieldprint(C)restest3()try:whileTrue:next(res)exceptStopIterationase:print(函数依次输出ABC,并执行完毕)