python 生成器_Python3 生成器

生成器(genetor):

1>生成器只有在调用的时候才会生成相应的数据;

2>生成器只记录当前位置,有一个__next__()方法

3>yield可以实现单线程先的并发运算

1.列表生成器:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwMDU5NzIzLTY2NjE2NDk2Ny5wbmc=.jpg

输出结果:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwMTA3NDExLTE4NTA2MjIyNzEucG5n.jpg

2.简单的生成器:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwMTE5ODk4LTE2ODgwOTc5MDkucG5n.jpg

输出结果:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwMTI5MzE1LTExNDAyNzQ2ODkucG5n.jpg

3.生成器的并行:(生产者与消费者的关系)

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwMTQ3MzU0LTE2NTE3MTM0ODkucG5n.jpg

输出结果:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwMTU4Mzg5LTg2MTE2OTkwNC5wbmc=.jpg

4.斐波拉契数列:除第一位和第二位,任何一个数都可以是前两个数相加得到

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwMzA4MDQ4LTIwMDEyMTQxODEucG5n.jpg

输出结果:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwNDExMDIxLTc1ODI0NDQ3NC5wbmc=.jpg

5.斐波那契数列函数转生成器:yield可以记录当前位置

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwNTA3NDMwLTY0OTc3OTUxNC5wbmc=.jpg

输出结果:

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xNDI0MDI0LzIwMTgwNy8xNDI0MDI0LTIwMTgwNzEyMTYwNTE5NTkwLTEyNTE5NTc0ODAucG5n.jpg

python3 生成器&迭代器

#Author by Andy#_*_ coding:utf-8 _*_import timefrom collections import Iterable#列表生成式def func(): lis ...

python3 生成器初识 NLP第五条

话不多说,先把第五条抄一遍: 五,沟通的意义在于对方的回应 沟通没有对与错,只有“有效果”或者“没有效果”之分. 自己说得多“对”没有意义,对方收到你想表达的讯息才是沟通的意义. 因此自己说什么不重要 ...

python3 生成器和生成器表达式

''' 生成器:函数中有yield就是生成器函数 生成器本质是一个迭代器 yield后面的值会作为返回值返回. ''' def func(): print("apple") pri ...

python3 生成器表达式

生成器表达式 [i for i in range(100)] #列表解析 与列表解析的不同是,列表解析用中括号,生成器表达式用小括号 g = (i for i in range(1000)) #生成器 ...

python3 - 生成器genarator

在Python中,这种一边循环一边计算的机制,称为生成器:generator. 生成器保存的是算法,每次调用 next() ,就计算出 下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出 ...

python3 生成器笔记

#生成器def MyDemo(M): for i in range(M): yield i**2for item in MyDemo(9): print(item) # #生成器import sysa ...

(十)python3 生成器

生成器(generator):在 Python 中,不必创建完整的 list,从而节省大量的空间.一边循环一边计算的机制. 创建一个 generator,有很多种方法.第一种方法很简单,只要把一个列表 ...

净心诀---python3生成器进阶

列表推导式 把需要用一个函数写成的小功能,利用一行表达式完成 例子: l = [1,2,3,4,5] # 所有的偶数都放到新的列表中 # 正常函数 def Lst(): li = [] for i i ...

净心诀---python3生成器

生成器的作用----减少程序运行的内存开销 生成器特点: 1.一个一个的取值,而不是一次性把所有数据创建出来,迭代器中的数据不取不创建2.只能按照顺序取,不能跳过也不能回头3.一个迭代器中的数据只能从 ...

随机推荐

POJ 2528 Mayor's posters(线段树+离散化)

Mayor's posters 转载自:http://blog.csdn.net/winddreams/article/details/38443761 [题目链接]Mayor's posters [ ...

QQMain

import java.awt.*; import javax.swing.*; import java.awt.event.*; public class QQMain extends JFrame ...

结构型模式——Bridge(未完成)

1.意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化.

.NET平台下几种SOCKET模型的简要性能供参考

转载自:http://www.cnblogs.com/asilas/archive/2006/01/05/311309.html .NET平台下几种SOCKET模型的简要性能供参考 这个内容在cnbl ...

AFNetworking 3.0的GET和POST的使用

POST: AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; session.requestSerializer = [A ...

python自动化--语言基础1--数据类型及类型转换

Python中核心的数据类型有哪些?变量(数字.字符串.元组.列表.字典) 什么是数据的不可变性?哪些数据类型具有不可变性数据的不可变是指数据不可更改,比如: a = ("abc" ...

Win10蓝屏的一些解决办法

请仔细回想这个错误是什么时候出现的: 第一次发生时你对系统做了哪些操作: 发生时正在进行什么操作: 从这些信息中找出可能的原因: 从而选择相应解决方案并尝试排除. 0x0000000A:IRQL_NO ...

MyBatis-你所不了解的sql和include

目录 节点的基础 节点 节点包含的节点 一起来学习 mybatis @ 在前一篇[MyBatis动态SQL(认真看看, ...

kettle大数据量读写mysql性能优化

修改kettleDB连接设置 1. 增加批量写的速度:useServerPrepStmts=false  rewriteBatchedStatements=true  useCompressio ...

[leetcode]3. Longest Substring Without Repeating Characters无重复字母的最长子串

Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值