在Python中,有没有一个通用的接口可以让我去修改生成器的行为呢?
举个例子,我想对一个已经存在的生成器进行修改,插入一些值到生成器的输出中,同时去掉一些其他的值。
我该怎么做呢?
谢谢,Boda Cydo
你可以把这个生成器放在你自己写的生成器里面。
from itertools import count def odd_count(): for i in count(): if i % 2: yield i
你可以使用 itertools 提供的函数来处理一个生成器,并生成一个新的生成器。
比如,你可以使用 takewhile 函数,直到某个条件不再满足为止;还可以使用 chain 函数来连接一系列新的值。
你可以查看文档,了解更多示例,包括像 ifilter、dropwhile 和 islice 这些函数。