Python filter函数的使用案例
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编程更为灵活,实现的功能更丰富多样,非常值得学习!
