调用过滤器返回

调用过滤器返回,第1张

调用过滤器返回

看来您使用的是python3.x。在python3, ,

filter
map
zip
等返回一个对象,它是可迭代的,但不是列表。换一种说法,

filter(func,data) #python 2.x

等效于:

list(filter(func,data)) #python 3.x

我认为它已更改,是因为您(通常)希望以一种惰性的方式进行过滤-您不需要消耗所有内存就可以预先创建列表,只要迭代器将相同的内容返回给列表即可将在迭代期间。

如果您熟悉列表推导和生成器表达式,那么上面的过滤器现在(几乎)等效于python3.x中的以下内容:

( x for x in data if func(x) )

相对于:

[ x for x in data if func(x) ]

在python 2.x中



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

原文地址: https://outofmemory.cn/zaji/5666794.html

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

发表评论

登录后才能评论

评论列表(0条)

保存