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

Python中的filter()函数:过滤列表数据的工具

发布时间:2023-06-13 04:47:11

Python中的filter()函数是一个非常有用的工具,它可以帮助我们过滤掉一些不需要的列表数据,使我们的代码更加简洁高效。这个函数非常适合处理一些需要筛选的数据,例如筛选出所有大于10的数等。

filter()函数的语法如下:

filter(function, iterable)

其中,function是我们自定义的函数,它可以接收一个参数,并根据这个参数的结果来判断该数据是否需要被过滤掉,如果需要,返回False ,否则返回True 。 iterable 表示可以迭代的对象,例如列表或元组。

下面,我们来看看filter()函数的具体应用:

1.筛选大于10的数

def is_greater_than_10(num):

    if num > 10:

        return True

    else:

        return False

lst = [2, 4, 5, 8, 10, 13, 15, 17, 20]

result = filter(is_greater_than_10, lst)

print(list(result))

在上面的代码中,我们定义了一个is_greater_than_10函数,它的作用是判断一个数字是否大于10。然后我们通过filter()函数把列表 lst 中所有大于10的数筛选出来,并将结果输出。

2.筛选偶数

def is_even(num):

    if num % 2 == 0:

        return True

    else:

        return False

lst = [2, 5, 8, 9, 10, 15, 18, 20, 23, 29]

result = filter(is_even, lst)

print(list(result))

在这个例子中,我们定义了一个is_even函数,它的作用是判断一个数字是否是偶数。然后我们通过filter()函数把列表 lst 中所有偶数筛选出来,并将结果输出。

3.筛选出含有指定字符的字符串

def has_char(str):

    if "e" in str:

        return True

    else:

        return False

lst = ["hello", "world", "python", "amazing", "great"]

result = filter(has_char, lst)

print(list(result))

在这个例子中,我们定义了一个has_char函数,它的作用是判断一个字符串是否包含字母“e”。然后我们通过filter()函数把列表 lst 中所有含有字母“e”的字符串筛选出来,并将结果输出。

总结:

filter()函数是一个非常便捷的工具,它通过我们自定义的函数可以帮助我们筛选出列表中需要的数据,过滤掉不需要的数据,从而让我们的代码更简洁高效。希望本篇文章能够为大家提供一些有用的参考和帮助,也希望大家能够善用这个函数,让编程变得更加优雅高效。