笔记9列表生成器

原创 2016年05月31日 12:19:48

1、在Python中,这种一边循环一边计算的机制,称为生成器:generator,只要把一个列表生成式的[]改成(),就创建了一个generator

2、generator也可以迭代,用for来列出内部元素

>>>g = (x*x for x in range(10))
>>>for n in g
...print (n)

3、如果一个函数里面包含“yield”,这个函数就不再是普通函数,而是一个generator,关键点在于,函数是顺序执行,遇到return或者最后一行语句返回,而generator,在每次调用next()的时候执行,遇到yield返回,再次执行时从上次返回的yield语句处继续执行。

例子:定义一个generator,依次返回1、3、5

def odd():
    print ('step 1')
    yield (1)
    print ('step 2')
    yield (2)
    print ('step 3')
    yield (3)

调用的时候,首先生成generator对象,用next()不断获取下一个返回值

>>>o = odd
>>>next (o)
step 1
1
>>>next (o)
step 2
3
>>>next (o)
step 3
5

这里odd已经是generator




版权声明:本文为博主原创文章,未经博主允许不得转载。

Python语言学习讲解十一:生成器表达式改写较大的列表推导

注:每周一到周五都会进行相关Python基础知识更新,欢迎大家提宝贵的意见 列表推导的缺点是:在列表推导过程中,对于输入序列中的每个值来说,可能都要创建仅含一项元素的全新列表。当输入的数据比较少时,不...
  • Windgs_YF
  • Windgs_YF
  • 2016年11月23日 16:54
  • 392

Java学习笔记9

如果一个类的对象是有限而且固定的,比如季节类,它只有4个对象,像这种实例有限而且固定的类,我们在Java 中被称为枚举类。 枚举类是Java 5 新增的,使用enum关键字来定义枚举类,枚举类...
  • GULINHAI12
  • GULINHAI12
  • 2015年02月20日 20:40
  • 978

React Native 学习笔记十(ListView的使用)

关于 listView和scrollView scrollView 垂直方向 可适用于不同组件和布局的混合(元素不同) 能够渲染所有元素(即使元素被挤出屏幕)  但是适用于 较短的滚动列表  list...
  • Youth_never_go_away
  • Youth_never_go_away
  • 2016年09月14日 11:20
  • 296

列表解析及生成器表达式的效率问题

列表解析(List Comprehensions),来自函数式的编程语言Haskell。是一个非常有用,简单而且灵活的工具,可以动态地创建列表。自Python2.0,列表开始加入到Python中,里面...
  • Jerry_1126
  • Jerry_1126
  • 2016年04月18日 05:48
  • 705

python 生成器、列表/字典/集合解析式区别

一、列表解析列表解析也叫列表推导式,是python编程中常用到的语法糖。列表推导是一个将一个列表(实际上是任意可迭代对象)转换成另一个列表的工具。在转换时,每个元素都可以按照某个条件被包含在新的列表中...
  • luckytanggu
  • luckytanggu
  • 2016年11月14日 00:35
  • 1385

斯坦福ML公开课笔记9—偏差/方差、经验风险最小化、联合界、一致收敛

本篇与前面不同,主要内容不是算法,而是机器学习的另一部分内容——学习理论。主要包括偏差/方差(Bias/variance)、经验风险最小化(Empirical Risk Minization,ERM)...
  • xinzhangyanxiang
  • xinzhangyanxiang
  • 2013年09月27日 20:29
  • 9806

简易新闻客户端(生成列表)

制作一个简易的新闻客户端,主要目的是学习网络数据解析及异步加载,目前只包括从网页获取数据生成列表功能,未添加点击列表显示新闻内容功能...
  • haopengfei91
  • haopengfei91
  • 2016年07月17日 14:57
  • 83

Python 进阶_生成器 & 生成器表达式

目录目录 相关知识点 生成器 生成器 fab 的执行过程 生成器和迭代器的区别 生成器的优势 加强的生成器特性 生成器表达式 生成器表达式样例 小结相关知识点Python 进阶_迭代器 & 列表解析 ...
  • Jmilk
  • Jmilk
  • 2016年09月17日 12:44
  • 4267

生成器对象的send方法

转载
  • baidu_38127162
  • baidu_38127162
  • 2017年05月01日 22:36
  • 298

PYTHON自学笔记4之列表生成器

练习列表生成式
  • ZSZ_shsf
  • ZSZ_shsf
  • 2016年09月08日 21:20
  • 279
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:笔记9列表生成器
举报原因:
原因补充:

(最多只允许输入30个字)