def generator():for i in range(20000):yield "哇哈哈%s"%(i)
g=generator()
ret=g.__next__()
print(ret)
num=0
for i in g:num+=1if num>50:breakprint(i)
#从生成器中取值方法#next#for#数据类型转换:占内存

生成器的进阶和各种推导式:

def generator():print(1)content=yield 1print('===',content)yield 2
g=generator() #生成器
ret=g.__next__() #进行第一次迭代
print(ret)
ret2=g.send("你好啊") #进行第二次迭代
print(ret2)
#send方法域next方法类似
#使用send注意事项:#第一次使用生成器是只能用next#最后一个yield不能接受外部的传值
#移动平均值
def init(func):def inner(*args,**kwargs):g=func(*args,**kwargs)g.__next__()return greturn inner
@init
def average():sum=0count=0avg=0while True:num=yield avgsum+=numcount+=1avg=sum/count
avg_g=average()
ret=avg_g.send(10)
print(ret)
ret=avg_g.send(20)
print(ret)
ret=avg_g.send(11)
print(ret)
def generator2():a="asdasd"b="13124"yield from a  #等价于 for i in a: print(i)yield from b
g=generator2()
for i in g:print(i)

#[每一个元素或者元素相关的操作 for 元素 in 可迭代数据类型]
#[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素相关的条件]
#30以内能被3整出的平方
ret = [i**2 for i in range(30) if i%3==0]
print(ret)
#找到嵌套列表中名字含有两个‘e’的所有名字
names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
name=[name for lst in names for name in lst if name.count('e')==2]
print(name)
#将一个字典的key和Value对调
dic={'a':10,'b':39}
dic_sort={dic[k]:k for k in dic}
print(dic_sort)

转载于:https://www.cnblogs.com/orange126/p/10878019.html

python-生成器函数进阶和各种推导式day15相关推荐

  1. python进阶_基础篇10(函数进阶,列表推导式)

    函数进阶 函数就是变量 定义函数的时候,其实就是在定义一个类型时function的变量,函数名就是变量名 普通变量能做的事情,函数都可以做 print('===================1.函数 ...

  2. Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数

    本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...

  3. Python生成器函数案例一则:理财收益计算

    问题描述:假设理财利率不变,那么需要多少年才能使得投资翻倍? 技术要点:1)生成器函数:2)内置函数enumerate(). 参考代码: ----------喜大普奔---------- 1.董付国老 ...

  4. python程序如何执行死刑_「Python基础知识」Python生成器函数

    原标题:「Python基础知识」Python生成器函数 对于程序而言,内存也是很重要的,因为程序中很多数据都是保存在内存中的,如果内存中存储的数据过多,那么系统就会崩溃,这是人们不希望发生的. 可以采 ...

  5. 小牛叔讲Python第10章:化繁为简的推导式

    上一篇:小牛叔讲Python第9章:函数是你走过的套路 下一篇:小牛叔讲Python第11章:函数的高级用法以及匿名函数 目录 前言 1.推导式的形式 2.生成器 - () 3.推导式与交互使用 4. ...

  6. python文件之间的相互调用_「Python 系列」 Python 生成器函数详解

    Python的生成器函数提供了一种强大的机制来管理数据和计算资源,但是对于Python的新手来说,它们不一定直观.在本文中,我将分解生成器的机制,同时还介绍我希望是一个有启发性的示例:用于管理和流传输 ...

  7. 小白的Python 学习笔记(八)推导式详解

    什么是推导式 大家好,今天我总结一下Python的推导式,首先让我们来看定义 推导式(comprehensions)是Python的一种独有特性,是可以从一个数据序列构建另一个新的数据序列的结构体.一 ...

  8. Python生成器函数的定义,使用,方法,实例,(yield、yield from)

    本位目标人群是拥有Python基础的开发者,主要目的是用通俗的语言讲Python生成器函数的特性,方法,和使用. 文章目录 前言 一.生成器是什么? 二.生成器的各种方法和关键字 1.yield, y ...

  9. OPA进阶-简洁的推导式comprehensions

    OPA进阶-简洁的推导式 本文作者:newbmiao 本文来讲讲OPA推导式(comprehensions),主要涉及三类数据的推导式:object,array,set 我们将以实现判断配置文件数据的 ...

最新文章

  1. 对IsUnderPostmaster变量初步学习
  2. php数据库重复记录数,php – 每隔30分钟计算一次数据库上的重复...
  3. HTTP 各版本特点与区别
  4. Hadoop集群 MapReduce初级案例
  5. [汇编语言]实验三:栈和栈段
  6. Factory Method(工厂方法)--对象创建型模式
  7. mysql udb_MySQL InnoDB的一些参数说明
  8. HDU 1711 Number Sequence(KMP模板)
  9. 关于云原生需要了解什么
  10. 【Pre蓝桥杯嵌入式】如何直接使用LCD例程来作为赛场使用的工程
  11. 采用泰克示波器TBS2000和TCP0030A电流探头准确评估高速DCDC转换器电感的选择
  12. 程序开发学习和工作中常用工具——Doxygen和graphviz和HTML Help WorkShop以及 Easy CHM
  13. Firefox扩展IE Tab Plus内置功能导致浏览所有网页加载superfish.com脚本
  14. 对腾讯云qcloud音视频通信SDK的调研(优缺点)
  15. [node]request+watch开发自测的懒人神器
  16. 心电信号系统GUI系统
  17. 航顺HK32F030Mxx官方例程调试笔记(一)
  18. 会议预定管理系统php,会议小管家会议预约管理系统
  19. 开环零极点对根轨迹的影响
  20. 弘辽科技:一元秒杀重回抖音直播间,一切都是流量“惹的祸”

热门文章

  1. 云效助力新金融DevOps转型——南京银行实践之路
  2. Docker存储和虚拟化存储需求不同
  3. [转]移动端页面开发资源总结及技巧
  4. FFPEG 转码记录------解决了有流,但是没有码率和FPS?
  5. Java初学者疑难杂症之:一对一和一对多的关系
  6. iOS开发那些事--编写OCUnit测试方法-逻辑测试方法
  7. 一种简便的ios图片加密方法-对图片进行base64编码
  8. App-V 4.6 SP1系列之五包加速器的制作
  9. how to export many stock data from Wind terminal
  10. English debate sample motion