笔记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自学笔记4之列表生成器

练习列表生成式

Python笔记-列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator

列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator

python学习笔记,列表生成式,生成器

列表生成式: 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 举个例子,要生成list [1, 2, 3, 4, 5, ...

Python学习笔记(9)-列表list、元组tuple、字典dict、集合set

一,介绍本篇主要介绍Python中的数据集合类型,包括list、tuple、dict、set。二,概念区别 list,有序集合,基本相当于java中的ArrayList。 tuple,元素不可变集合,...

Python 三目运算,列表解析,装饰器,迭代器和生成器

操作系统:Windows Python:3.5三目运算a=False x=1+33 if a else 10-1 #a,b=1,10 if 10>1 else None #多个变量赋值 prin...

Python 高级特性 : 列表生成器

Python 高级特性 : 列表生成器!!!本文用到的代码均在IDLE中实现!! 如果你有任何意见和建议,希望你能发表在评论区列表生成式即List Comprehensions,是Python内置的...

python——切片 迭代 列表生成式 生成器

切片 slice,对list进行筛选生成新list namelist = ['Bob', 'Jack', 'Tom', 'Harry', 'Green', 'Martin'] print namel.....

【4-2】高级特性——列表生成式和生成器

一 列表生成式列表生成式即 List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环...

零基础学python-19.8 生成器表达式:当迭代器遇上列表解析

这一章节我们来讨论一下生成器表达式。 从语法上来讲,生成器表达式跟列表解析一个样,只不过列表解析放在中括号里面,而生成器表达式放在小括号里面 >>> [x for x in range(5)] ...

Python学习(七)——列表生成式、生成器

python2中: 异同 range() xrange() 语法 一样 一样 返回 列表 生成器 生成 真实列表 用多少生成多少 因此与range()相比...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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