掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
filter()函數(shù)用于返回一個迭代器,這里的元素通過函數(shù)進(jìn)行過濾,它有助于測試序列中的每個元素是否為真。

**filter(function, iterable)** #Where iterable can be a list, string, tuple, dictionary , set etc
它以函數(shù)和可迭代為參數(shù)。
| 參數(shù) | 描述 | 必需/可選 |
|---|---|---|
| 功能 | 測試元素是否被接受的函數(shù) | 需要 |
| 可迭代的 | 可迭代的可以是集合、列表、元組等... | 需要 |
| 投入 | 返回值 | | 可迭代(if 元素) | 迭代器(過濾列表) | | 可迭代(如果不是元素) | 錯誤的 |
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()如何使用預(yù)定義的函數(shù)工作? # 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]
filter()方法在沒有 filter 函數(shù)的情況下如何工作? # 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 
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流