Python filter()

filter()函数用于返回一个迭代器,这里的元素通过函数进行过滤,它有助于测试序列中的每个元素是否为真。

 **filter(function, iterable)** #Where iterable can be a list, string, tuple, dictionary , set etc 

过滤器()参数:

它以函数和可迭代为参数。

参数 描述 必需/可选
功能 测试元素是否被接受的函数 需要
可迭代的 可迭代的可以是集合、列表、元组等... 需要

过滤器()返回值

| 投入 | 返回值 | | 可迭代(if 元素) | 迭代器(过滤列表) | | 可迭代(如果不是元素) | 错误的 |

Python 中filter()方法的示例

示例filter()如何对可迭代列表起作用?

 # list of letters
letters = ['a', 'b', 'd', 'e', 'i', 'j', 'o']

# function that filters vowels
def filter_vowels(letter):
    vowels = ['a', 'e', 'i', 'o', 'u']

    if(letter in vowels):
        return True
    else:
        return False

filtered_vowels = filter(filter_vowels, letters)

print('The filtered vowels are:')
for vowel in filtered_vowels:
    print(vowel) 

输出:

The filtered vowels are:
a
e
i
o 

示例filter()如何使用预定义的函数工作?

 # Returns the elements which are multiples of 5
def multipleOf5(n):
  if(n % 5 == 0):
    return n
myList = [10, 25, 17, 9, 30, -5]
myList2 = list(filter(multipleOf5, myList))
print(myList2) 

输出:

[10, 25, 30, -5] 

示例 3:filter()方法在没有 filter 函数的情况下如何工作?

 # random list
random_list = [1, 'a', 0, False, True, '0']

filtered_list = filter(None, random_list)

print('The filtered elements are:')
for element in filtered_list:
    print(element) 

输出:

The filtered elements are:
1
a
True
0 

你可能感兴趣的