itertools.ifilter与 过滤器 清单理解

itertools.ifilter与 过滤器 清单理解,第1张

itertools.ifilter与 过滤器 清单理解

下面的示例包含一个数字生成器,该生成器会在生成数字之前立即打印一条消息,显示如何

filter()
首先构建列表,然后遍历列表并对其进行过滤。鉴于此,
itertools.ifilter
过滤器永远不会建立列表。如果要过滤500,000个重要内容,则需要
ifilter
,因此您无需构建列表。

import itertoolsdef number_generator():    for i in range(0, 3):        print "yield", i        yield i    print "stopping"function = lambda x: x > 0numbers = number_generator()print "itertools.ifilter:"for n in itertools.ifilter(function, numbers):    print nprint "nfilter:"numbers = number_generator()for n in filter(function, numbers):    print n

输出:

itertools.ifilter:产生0产量11个产量22停止过滤:产生0产量1产量2停止1个2


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5139709.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存