博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生成器\生成器表达式\推导式
阅读量:4553 次
发布时间:2019-06-08

本文共 590 字,大约阅读时间需要 1 分钟。

13.生成器和生成器表达式

一.生成器

生成器的本质就是迭代器,python通过三种方式获取生成器

1.通过生成器函数

def fun():    # print("111")    yield 222    yield 333g=fun()c=g.__next__()print(c)

 

2.通过各种推导式来实现生成器

g=for (i for i in range(10))for el in g:    print(el)

  生成器可以用for循环来获取内部元素

3.通过数据的转换也可以获取生成器

二 send和__next()的区别

1.send和__next__()都是让生成器向下走一次

2.send可以给上一个yield的位置传递值,不能给最够一个yield发送值,在第一次执行生成器代码时不能用send()

三.列表推导式

lst=[i for i in range(1,15))print(lst)

  生成器表达式和列表推导式的区别:

  1.列表推导式比较耗内存,一次性加载,生成器表达式几乎不占用内存,使用的时候才分配和使用内存

  2.得到的值不一样,列表推导式得到的是一个列表,声称其表达式得到的是一个生成器

  ps:生成器,只有要值的时候才拿值

转载于:https://www.cnblogs.com/wszxdzd/p/9330290.html

你可能感兴趣的文章
ORACLE 字符串超长问题解决方案
查看>>
使用ZooKeeper协调多台Web Server的定时任务处理(方案1)
查看>>
20171116 每周例行报告
查看>>
[C#] SHA1校验函数用法
查看>>
linux 下 VMware 提示Unable to change virtual machine power state:
查看>>
洛谷P1585 魔法阵
查看>>
线程 题待做
查看>>
PL/SQL可以连oracle,但是jdbc连不上 【转】
查看>>
使用 highlight.js 在网页中高亮显示java 代码 【原】
查看>>
Android应用 程序框架设计方法
查看>>
基于Nginx环境下5种http转https的设置方法
查看>>
windows创建服务
查看>>
锋利的JQuery —— JQuery性能优化
查看>>
MIT许可证
查看>>
JQuery发送Ajax请求
查看>>
SQL 中的 case when
查看>>
【DeepLearning】GoogLeNet
查看>>
【手撸一个ORM】第六步、对象表达式解析和Select表达式解析
查看>>
MsDepSvc 启动失败
查看>>
总结十四
查看>>