欢迎访问宙启技术站
智能推送

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()函数可以很好地将符合条件的元素进行筛选,并返回一个新的序列。在实际应用中,可以根据需求设计合适的过滤函数,使得筛选的结果更加符合实际需求。