Python3 中的 filter() 函数可以用来过滤列表中的元素,返回一个由所有符合条件的元素组成的新列表。
filter() 函数的语法为:
filter(function, iterable)
其中,function参数是一个函数,iterable参数是一个可迭代对象,如列表。
下面是一个使用 filter() 函数过滤列表元素的示例:
# 定义一个函数,用于判断一个数是否为偶数
def is_even(n):
return n % 2 == 0
# 定义一个列表,其中有奇数和偶数
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 使用 filter() 函数过滤列表中的偶数
even_nums = list(filter(is_even, nums))
# 输出结果
print(even_nums)
上面的代码中,我们定义了一个函数 is_even(),用于判断一个数是否为偶数,使用 filter() 函数过滤列表 nums 中的偶数,将结果赋值给 even_nums,并输出结果。
执行上面的代码,输出结果为:
[2, 4, 6, 8, 10]
从输出结果可以看出,even_nums 列表中包含了 nums 列表中的所有偶数。
除了上面的例子,我们还可以使用 filter() 函数过滤其他类型的数据,比如字符串:
# 定义一个函数,用于判断一个字符串是否以a开头
def is_start_with_a(str):
return str.startswith('a')
# 定义一个列表,其中有以a开头和不以a开头的字符串
strs = ['apple', 'banana', 'avocado', 'mango']
# 使用 filter() 函数过滤列表中以a开头的字符串
a_strs = list(filter(is_start_with_a, strs))
# 输出结果
print(a_strs)
执行上面的代码,输出结果为:
['apple', 'avocado']
从输出结果可以看出,a_strs 列表中包含了 strs 列表中以a开头的字符串。
:Python3 中的 filter() 函数可以用来过滤列表中的元素,返回一个由所有符合条件的元素组成的新列表。