python基础教程之Filter使用方法

  • Post category:Python

Python基础教程之Filter使用方法

在Python中,filter()函数用于过滤序列,返回一个符合条件的新序列。本文将介绍filter()函数的基本概、使用方法、参数和返回值,并提供两个示例说明。

filter()函数的基本概念

filter()函数用于过滤序列,一个符合条件的新序列。它接受两个参数,第一个参数是一个函数,第二个参数是一个序列。filter()函数会对序列中的每个元素调用函数,如果函数返回True,则该元素会被保留在新序列中,否则该元素会被过滤掉。

filter()函数的使用方法

在Python中,我们可以使用lambda表达式或自定义函数来定义过滤条件。以下是一个示例,演示何使用filter()函数过滤序列:

# 使用lambda表达式过滤序列
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9 10]
new_list = list(filter(lambda x: x % 2 == 0, my_list))
print(new_list)

# 使用自定义函数过滤序列
def is_even(x):
    return x % 2 == 0

new_list = list(filter(is_even, my_list))
print(new_list)

在上面的示例代码中,我们分别使用lambda表达和自定义函数来定义过滤条件,并使用filter()函数过滤序列。最后,我们使用print()函数打印新序列。

示例1:使用lambda表达式过滤序列

# 使用lambda表达式过滤序列
my_list = ['apple', 'banana', 'orange', 'pear', 'grape']
new_list = list(filter(lambda x: len(x) > 5, my_list))
print(new_list)

在上面的示例代码中,我们使用lambda表达式过滤序列,保留长度大于5的元素,并使用print()函数打印新序列。

filter()函数的参数和返回值

filter()函数接受两个参数,第一个参数是一个函数,第二个参数是一个序列。函数会对序列中的每个元素调用函数如果函数返回True,则该元素会被保留在新序列中,否则该元素会被过滤掉。filter()函数返回一个新序列其中包含符合条件的元素。

完整攻略

  1. filter()函数用于过滤序列,返回一个符合条件的新序列。
  2. 可以使用lambda表达式或自定义函数来定义过滤条件。
  3. filter()函数接受两个参数,第一个参数是一个函数,第二个参数是一个序列。
  4. filter()函数返回一个新序列,其中包含符合条件的元素。

示例2:使用自定义函数过滤序列

# 使用自定义函数过滤序列
my_list = ['apple', 'banana', 'orange', 'pear', 'grape']
def is_long(x):
    return len(x) > 5

new_list = list(filter(is_long, my_list))
print(new_list)

在上面的示例代码中,我们使用自定义函数过滤序列,保留长度大于5的元素,并使用print()函数打印新序列。

总结

文介绍了filter()函数的基本概念、使用方法、参数和返回值,并提供了两个示例说明。filter()函数是Python中非有用的函数之一,可以帮助我们高效地过滤序列。掌握filter()函数的使用方法可以帮助我们更加高效地处理数据。