【Python】创建生成器generator

简介: 【Python】创建生成器generator

问题

方法

# (1) [] -> ()
foo = (x for x in range(100))
# (2) 通过yield方式创建
def bar_gen():
    for i in range(100):
        yield i # 调用yield就返回一个生成器对象
bar = bar_gen()
for i in range(100):
    x = next(bar) # 通过next()方法每次获得一个生成数据
    print(x, end=' ')
print()
def bar_gen1():
    x = 1
    yield x+1 # 返回数据并暂停, 下一次next()的时候恢复到这里继续执行
    yield x+2
    yield x+3
bar1 = bar_gen1()
x1 = next(bar1)
x2 = next(bar1)
x3 = next(bar1)
print(x1, x2, x3) # 2 3 4 
目录
相关文章
|
27天前
|
存储 索引 Python
|
28天前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
1月前
|
传感器 大数据 数据处理
深入理解Python中的生成器:用法及应用场景
【10月更文挑战第7天】深入理解Python中的生成器:用法及应用场景
41 1
|
1月前
|
存储 数据处理 Python
深入解析Python中的生成器:效率与性能的双重提升
生成器不仅是Python中的一个高级特性,它们是构建高效、内存友好型应用程序的基石。本文将深入探讨生成器的内部机制,揭示它们如何通过惰性计算和迭代器协议提高数据处理的效率。
|
17天前
|
存储 程序员 数据处理
深入理解Python中的生成器与迭代器###
本文将探讨Python中生成器与迭代器的核心概念,通过对比分析二者的异同,结合具体代码示例,揭示它们在提高程序效率、优化内存使用方面的独特优势。生成器作为迭代器的一种特殊形式,其惰性求值的特性使其在处理大数据流时表现尤为出色。掌握生成器与迭代器的灵活运用,对于提升Python编程技能及解决复杂问题具有重要意义。 ###
|
1月前
|
存储 大数据 数据处理
Python 中的列表推导式与生成器:特性、用途与区别
Python 中的列表推导式与生成器:特性、用途与区别
24 2
|
1月前
|
存储 大数据 Python
Python 中的列表推导式和生成器
Python 中的列表推导式和生成器
18 1
|
2月前
|
机器学习/深度学习 设计模式 大数据
30天拿下Python之迭代器和生成器
30天拿下Python之迭代器和生成器
20 3
|
1月前
|
存储 大数据 数据处理
理解Python中的生成器:高效迭代的秘密
【10月更文挑战第8天】理解Python中的生成器:高效迭代的秘密
33 0
|
1月前
|
存储 大数据 程序员
深入理解Python中的生成器
【10月更文挑战第8天】深入理解Python中的生成器
13 0