1 ''' 2 filter()函数是Python内置的一个高阶函数,它用于过滤可迭代对象中的元素,只保留满足特定条件的元素。filter()函数接受两个参数:一个函数和一个可迭代对象。 3 语法: 4 filter(function, iterable) 5 其中: 6 1. function是一个函数,它接受一个参数,并返回一个布尔值,表示对该参数是否保留。 7 2. iterable是一个可迭代对象,例如列表、元组等。 8 9 10 filter()函数会对可迭代对象中的每个元素调用function函数,如果function返回True,则保留该元素,否则将其过滤掉。 11 最终,filter()函数返回一个迭代器对象,其中包含了满足条件的元素。 12 13 最佳实践: 14 1. 使用filter()函数可以简洁地对可迭代对象中的元素进行筛选操作,避免了使用循环的繁琐和重复代码。 15 2. 当需要根据特定条件来过滤可迭代对象中的元素时,使用filter()函数可以提高代码的可读性和简洁性。 16 17 在Python 3中,filter()函数返回的是一个迭代器对象而不是列表。如果需要得到一个列表,可以使用list()函数将其转换为列表。 18 ''' 19 20 # 1. 使用filter()函数过滤出列表中的偶数: 21 numbers = [1, 2, 3, 4, 5] 22 # 函数的返回值必须是布尔,True是需要的,False是抛弃的 23 even_numbers = filter(lambda x: x % 2 == 0, numbers) 24 print(list(even_numbers)) # 输出:[2, 4] 25 26 # 2. 使用filter()函数过滤出字符串列表中长度大于等于5的字符串 27 words = ["apple", "banana", "cherry", "durian", "elderberry"] 28 long_words = filter(lambda x: len(x) >= 5, words) 29 # 需要注意,在Python 3中,filter()函数返回的是一个迭代器对象而不是列表,如果需要得到一个列表,可以使用list()函数将其转换为列表。 30 print(list(long_words)) # 输出:['banana', 'cherry', 'durian', 'elderberry']
标签:内置,函数,迭代,对象,元素,reduce,列表,filter From: https://www.cnblogs.com/allenxx/p/17539310.html