美文网首页
python基础 -- 生成器generator

python基础 -- 生成器generator

作者: fada492daf5b | 来源:发表于2018-01-23 19:56 被阅读0次

1. 作用

列表生成器,减少存储空间

3. 操作

>>> l = [x * x for x in range(10)] # 列表
>>> l
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> g = (x * x for x in range(10)) # 生成器
>>> g
<generator object <genexpr> at 0x7f546bdb7c50>
>>> next(g) #利用next()调用
0
...
>>> next(g) # 没有了会报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>> g = (x * x for x in range(10)) 
>>> for n in g: # 利用for迭代
...     print(n)
... 
0
1
4
9
16
25
36
49
64
81
>>> 

yield定义生成器

>>> n = 10
>>> while n > 0:
...     yield n
...     n += 1
... 
  File "<stdin>", line 2
SyntaxError: 'yield' outside function
>>> def func(n):  # yield这家伙一定要在函数里,牛了隔壁
...    while n > 0:
...         yield n
...         n += 1
... 
>>> func(10)
<generator object func at 0x7f546bdb7c50>
>>> 

相关文章

  • Python Generator(生成器)

    什么是Python Generator(生成器)?Python Generator(生成器)用于在内存资源有限的情...

  • python 零基础需要学那些?

    容器 Python容器简介 Python 容器API Python 生成器generator Python迭代器 ...

  • Python yield的使用

    带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? ...

  • python中yield的使用

    带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? ...

  • python输出杨辉三角

    知识点 1. python中的生成器 generator python生成器 2. python中-1索引表示容器...

  • python基础 -- 生成器generator

    1. 作用 列表生成器,减少存储空间 3. 操作 yield定义生成器

  • Python yield 的使用

    Python中,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 gene...

  • Python yield关键字与协程

    生成器generator 在讨论协程之前,我们先来看看python的生成器。简单的来讲,在python里面,一边循...

  • Python生成器源码剖析

    生成器是个什么鬼? 生成器(Generator)在python2.3时成为python的标准特性,因此也多加了一个...

  • 生成器、迭代器

    生成器、迭代器 标签(空格分隔): python 生成器generator 本着节约的原则,在使用列表元素时,按照...

网友评论

      本文标题:python基础 -- 生成器generator

      本文链接:https://www.haomeiwen.com/subject/jgteaxtx.html