3、Python 迭代器与推导式全解析

Python 迭代器与推导式全解析

1. 生成器与迭代器基础

1.1 yield from 的作用

yield from 的正式名称是“委托给子生成器”,它在包含生成器和内部生成器对象之间建立了更深层次的联系。例如下面的代码:

def matching_lines_from_file(pattern, path):
    lines = lines_from_file(path)
    yield from matching_lines(lines, pattern)

生成器对象有一些方法,如 send() throw() close() ,用于将信息传递回正在运行的生成器函数的上下文。不过这些方法目前使用并不广泛,若要深入了解可阅读 PEPs 342 和 380。当使用这些方法时, yield from 对于使信息能够流回正在运行的协程作用域是必要的。

1.2 Python 中的迭代器无处不在

迭代在 Python 中随处可见。内置的 range() 函数返回一个可迭代对象:

seq = range(3)
print(type(seq))  # <class 'range'>
for n in seq:
    print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值