python filter函数的使用用法

  • Post category:Python

使用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() 函数的详细使用攻略,希望可以帮助到您。