filter() 按函数过滤

最后更新:2026-09-22

filter() 按函数过滤

filter(function, iterable) 保留 iterable 中使 function 返回 True 的元素;返回迭代器。

分类内置函数
类型内置函数
Python 版本all

📝 语法

filter(function, iterable)

⚙️ 参数

function 必选判定函数;传 None 时直接用元素的真值。
iterable 必选要过滤的可迭代对象。

返回值:filter 迭代器;可用 list() 转为列表。

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

[2, 4]
更多实战案例即将上线,敬请期待。

❓ 常见问题

Qfilter() 返回的是什么?
A返回 filter 迭代器(惰性),必须 list(filter(...)) 转成列表或遍历它才能拿到结果。
Qfilter(None, lst) 是什么意思?
Afunction 传 None 时按元素真值过滤,等价于 [x for x in lst if x],可一次去掉 0、''、None 等假值。
Qfilter() 和列表推导式哪个好?
A语义等价时推导式 [x for x in lst if cond] 更可读;filter 配合已有函数(如 filter(str.isdigit, s))更简洁。
Qfilter 会立即执行判定函数吗?
A不会。filter 惰性求值,开始迭代时才逐个调用 function;适合处理大数据的链式操作。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏