Pythonfilter函数的应用及示例
Python 中的 filter() 函数是内置函数之一,用于过滤列表中的元素,返回一个新的列表。它接受两个参数:一个函数和一个序列。在每个元素成功测试函数之后,filter() 函数返回一个包含所有成功元素的新列表。
下面是 filter() 函数的基本语法:
new_list = filter(function, sequence)
其中,function 是一个自定义函数,用于特定的项目测试序列,sequence 是要进行元素迭代的序列。
作为内置函数之一,filter() 函数是非常强大的函数,它能够简单地帮助我们筛选列表中的元素。在下面的几个示例中,我们将看到如何使用 Python 的 filter() 函数来过滤列表中的元素。
示例1:使用 filter() 函数筛选列表中的偶数
在这个例子中,我们使用 filter() 函数从给定的列表中找出所有偶数。
#筛选偶数 numbers = [2, 3, 4, 5, 6, 7, 8, 9, 10] even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) print(even_numbers)
输出:
[2, 4, 6, 8, 10]
在这个示例中,我们首先将列表 numbers 定义为一个包含整数元素的列表,然后使用 lambda 函数来测试列表中的元素是否为偶数。最后,我们使用 list() 函数将一个迭代器对象转换为列表,使得我们能够查看过滤之后的偶数列表。
示例2:使用 filter() 函数来筛选单词长度大于等于5个字符的元素
在这个示例中,我们使用 filter() 函数以及自定义函数来筛选一个字符串列表中字符数大于等于5的单词。
# 筛选长度 >= 5 的字符串 words = ["hello", "hi", "world", "welcome", "python", "program"] new_words = list(filter(lambda x: len(x) >= 5, words)) print(new_words)
输出:
['hello', 'world', 'welcome', 'python', 'program']
在这个示例中,我们使用了 lambda 函数测试列表中的每个字符串的长度是否大于等于5。filter() 函数最终返回一个迭代器,我们使用 list() 函数将其转换为列表。
示例3:使用 filter() 函数筛选列表中小于等于20的元素
在这个示例中,我们使用 filter() 函数以及自定义函数来筛选一个整数列表中小于等于20的元素。
#筛选小于等于20的元素 numbers = [10, 15, 20, 25, 30, 35, 40] new_numbers = list(filter(lambda x: x <= 20, numbers)) print(new_numbers)
输出:
[10, 15, 20]
在这个示例中,我们使用了 lambda 函数测试列表中的每个元素是否小于等于20。filter() 函数最终返回一个迭代器,我们使用 list() 函数将其转换为列表。
综上所述,我们可以看到 Python filter() 函数在过滤列表元素方面是非常强大的。通过使用 filter() 函数以及自定义函数,我们可以轻松地处理列表。
