Python中使用filter函数的简单教程
发布时间:2023-06-26 18:49:27
Python中filter()函数是一个常用的高阶函数,可以对序列进行过滤操作,将符合条件的元素过滤出来并返回一个新的序列。
filter()函数的语法格式如下:
filter(function, iterable)
其中,function是过滤函数,可为lambda函数或自定义函数,iterable为一个可迭代对象。
过滤函数的作用是筛选出符合条件的元素,如果返回值为True,则保留该元素,否则过滤掉该元素。
下面介绍几个常见的使用场景。
## 过滤出大于等于10的元素
a = [1, 5, 10, 12, 15, 20] new_list = list(filter(lambda x: x >= 10, a)) print(new_list)
输出结果:
[10, 12, 15, 20]
## 过滤出含有特定字符串的元素
a = ['apple', 'banana', 'orange', 'grapefruit', 'pear'] new_list = list(filter(lambda x: 'a' in x, a)) print(new_list)
输出结果:
['apple', 'banana', 'grapefruit']
## 过滤出偶数元素
a = [1, 2, 3, 4, 5, 6] new_list = list(filter(lambda x: x % 2 == 0, a)) print(new_list)
输出结果:
[2, 4, 6]
## 过滤出长度为3的字符串
a = ['abc', 'def', 'gh', 'ijkl', 'mno'] new_list = list(filter(lambda x: len(x) == 3, a)) print(new_list)
输出结果:
['abc', 'def']
## 过滤出两个列表中相同的元素
a = [1, 2, 3, 4, 5, 6] b = [4, 5, 6, 7, 8, 9] new_list = list(filter(lambda x: x in b, a)) print(new_list)
输出结果:
[4, 5, 6]
filter()函数可以很好地将符合条件的元素进行筛选,并返回一个新的序列。在实际应用中,可以根据需求设计合适的过滤函数,使得筛选的结果更加符合实际需求。
