python中的filter()是什么?

通过filter方法,我们使用在单独函数中定义的过滤条件来过滤列表的特定元素。因此,我们首先创建一个用户定义的函数,其中将提及过滤条件。此函数和提供的列表一起作为过滤器函数的参数提供给我们结果。

语法

filter(filter_function, sequence)

示例

在下面的示例中,我们创建一个函数,该函数将查找列表中存在的偶数。然后它将丢弃它们(返回false)。其余的奇数将添加到最终列表中。我们可以修改此功能以滤除3或5左右的整数。

num_list = [6,17, 32, 11, 21, 132]
def remove_even(x):
   if x%2 ==0 :
      return False
   else:
      return True
odd_nos = filter(remove_even, num_list)
for x in odd_nos:
   print(x)

输出结果

运行上面的代码给我们以下结果-

17
11
21

示例

我们可以使用相同的方法从给定的字母列表中过滤出元音。这里

letters = ['t','u','t','o','r','i','a','l','s']
def get_vowels(c):
   if c in ['a','e','i','o','o']:
      return True
   else:
      return False
vowel_list = filter(get_vowels, letters)
for w in vowel_list:
   print(w)

输出结果

运行上面的代码给我们以下结果-

u
o
i
a