使用Python的filter函数是在对可迭代的对象进行筛选的过程中非常常用的一种方式。filter()函数可以过滤序列中不符合条件的元素,形成新的序列返回。
下面我来一步步详细讲解Python filter函数的使用:
filter函数的语法
filter(function, iterable)
其中,function 是判断函数,iterable 是可迭代对象。
filter函数的返回值
filter函数返回的是一个生成器对象,它可以转化为列表或者集合。
filter函数的示例
下面我们通过一些实例来看看如何使用 filter() 函数。在这个示例中,我们将使用已有的Python列表,然后用筛选条件从列表中去筛选数据。
1. 过滤列表中的偶数
# filter()函数实现列表过滤,仅过滤出偶数
def is_even(n):
"""
判断是否为偶数
"""
return n % 2 == 0
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = filter(is_even, a)
print(list(result)) # [2, 4, 6, 8, 10]
2. 过滤列表中空字符串
# filter()函数实现列表过滤,仅过滤出非空字符串
def is_not_empty(s):
"""
判断是否为非空字符串
"""
return s and len(s.strip()) > 0
countries = ["", "China", "USA", "Japan", "", "Mexico", "", "Russia"]
result = filter(is_not_empty, countries)
print(list(result)) # ['China', 'USA', 'Japan', 'Mexico', 'Russia']
以上就是 Python filter() 函数的详细使用攻略,希望可以帮助到您。