Python中的filter函数
在Python中,filter()
函数是内置函数中的一个,用于过滤序列中的元素。该函数接收一个函数和一个序列作为参数,将序列中的每个元素传递给函数,返回值为True的元素,最终返回一个新的列表。
语法
filter(function, iterable)
- function:用于过滤的函数
- iterable:待过滤的序列
示例代码
示例1:过滤偶数
运行结果:
在这个示例中,我们定义了一个函数is_even()
,用于判断一个数是否为偶数。然后我们创建一个包含1到10的数字列表,通过filter()
函数将其中的偶数筛选出来,得到新的列表。
示例2:过滤包含特定子串的字符串
运行结果:
在这个示例中,我们定义了一个函数has_substring()
,用于判断一个字符串中是否包含特定子串”geek-docs.com”。然后我们创建一个包含多个字符串的列表,通过filter()
函数筛选出包含特定子串的字符串,得到新的列表。
使用Lambda表达式
除了通过定义函数来使用filter()
函数,我们还可以使用Lambda表达式进行快速过滤。
示例3:使用Lambda表达式过滤负数
运行结果:
在这个示例中,我们使用Lambda表达式lambda x: x > 0
来判断一个数是否为正数,然后通过filter()
函数筛选出所有正数。
结语
通过filter()
函数,我们可以非常方便地筛选出我们所需要的元素,使代码更加简洁高效。