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

Python filter函数的使用案例

发布时间:2023-05-24 13:23:34

Python中的Filter函数是Python内置函数之一,它可以帮助我们筛选出符合特定条件的元素,返回一个迭代器对象。Filter一般结合lambda表达式来筛选,可以过滤掉一个序列中符合特定条件的元素。

Filter函数的基本语法如下所示:

filter(function, iterable)

其中:

- function:是一个函数,指定了筛选的条件;

- iterable:是一个可迭代对象,筛选从该对象中返回的元素。

filter函数的返回值是一个迭代器对象,在类型上和输入的iterable对象是一致的,仅仅是支持next()操作,可以通过内部的循环逐一输出。通过filter函数筛选出的元素可以储存在一个新的列表、元组、集合或其他的可迭代对象中。

下面来介绍一些常用的Filter函数的使用案例:

1.筛选出列表中的奇数元素

lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]

res = filter(lambda x: x % 2 == 1, lst)

print(list(res))

输出结果:

[1, 3, 5, 7, 9]

2.筛选出列表中长度为5的元素

lst = ['apple', 'banana', 'orange', 'pear', 'grape']

res = filter(lambda x: len(x) == 5, lst)

print(list(res))

输出结果:

['apple', 'grape']

3.筛选出列表中所有大写字母

lst = ['A', 'b', 'C', 'd', 'E', 'f']

res = filter(lambda x: x.isupper(), lst)

print(list(res))

输出结果:

['A', 'C', 'E']

4.筛选出字典中所有键值对中值大于等于10的键

dict1 = {'apple': 5, 'banana': 15, 'orange': 20, 'pear': 8}

res = filter(lambda x: dict1[x] >= 10, dict1.keys())

print(list(res))

输出结果:

['banana', 'orange']

5.筛选出列表中所有非空元素

lst = ['apple', '', 'banana', None, 'orange', [], True]

res = filter(None, lst)

print(list(res))

输出结果:

['apple', 'banana', 'orange', True]

总结

本篇文章介绍了Python filter函数的使用案例,Filter函数可以帮助我们筛选出符合特定条件的元素,返回一个迭代器对象,通过内部的循环逐一输出。Filter函数的使用让我们的Python编程更为灵活,实现的功能更丰富多样,非常值得学习!