在 Python 内置函数 中,filter() 是一个非常实用的工具,特别适合用于函数式编程Python场景。它可以帮助我们从一个可迭代对象(如列表、元组等)中“筛选”出满足特定条件的元素。本教程将从零开始,手把手教你如何使用 Python filter函数,即使你是编程小白,也能轻松上手!
filter() 是 Python 的一个内置函数,用于过滤序列中的元素。它接收两个参数:
True 或 False函数会将 iterable 中的每个元素传入 function,如果返回 True,则保留该元素;否则丢弃。
filter(function, iterable) 注意:filter() 返回的是一个 filter 对象(一种迭代器),通常我们需要用 list() 将其转换为列表以便查看结果。
假设我们有一个数字列表,想从中选出所有偶数:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]def is_even(n): return n % 2 == 0# 使用 filter 筛选偶数result = filter(is_even, numbers)# 转换为列表并打印print(list(result))# 输出: [2, 4, 6, 8, 10] 在实际开发中,我们经常用 lambda 表达式代替单独定义函数,使代码更简洁:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 使用 lambda 表达式even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(even_numbers)# 输出: [2, 4, 6, 8, 10] 假设我们有一个名字列表,只想保留长度大于 4 的名字:
names = ['Alice', 'Bob', 'Charlie', 'David', 'Eve']long_names = list(filter(lambda name: len(name) > 4, names))print(long_names)# 输出: ['Alice', 'Charlie'] 如果将 function 参数设为 None,filter() 会自动过滤掉所有“假值”(如 0、None、空字符串、空列表等):
data = [0, 1, False, True, '', 'Hello', [], [1, 2]]truthy_values = list(filter(None, data))print(truthy_values)# 输出: [1, True, 'Hello', [1, 2]] 通过本教程,你已经掌握了 Python filter函数 的基本用法、常见场景以及与 lambda 表达式的结合技巧。作为 Python内置函数 之一,filter() 在数据清洗、条件筛选等任务中非常高效。
记住:如果你正在学习 函数式编程Python,那么 filter()、map() 和 reduce() 是你必须掌握的三大利器!
希望这篇关于 filter函数用法 的教程对你有帮助!动手试试吧~
本文由主机测评网于2025-12-14发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127785.html