教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

python3中的filter()函數(shù)

更新時(shí)間:2018年12月19日14時(shí)48分 來(lái)源:傳智播客 瀏覽次數(shù):

filter() 函數(shù)是一個(gè)對(duì)于可迭代對(duì)象的過(guò)濾器,過(guò)濾掉不符合條件的元素,返回的是一個(gè)迭代器,如果要轉(zhuǎn)換為列表,可以使用 list() 來(lái)轉(zhuǎn)換。
該函數(shù)接收兩個(gè)參數(shù),第一個(gè)為函數(shù)的引用或者None,第二個(gè)為可迭代對(duì)象,可迭代對(duì)象中的每個(gè)元素作為參數(shù)傳遞給函數(shù)進(jìn)行判,然后返回 True 或 False,最后將返回 True 的元素放到迭代器中
下面看下fiter()的用法:
第一個(gè)參數(shù)為None: 
[Python] 純文本查看 復(fù)制代碼
1
2
3
4
my_list = [1, '', 2, ' ', 3, 3]
new_list = list(filter(None, my_list))    # 注意:為None時(shí),僅僅是過(guò)濾掉'', 而不是空的字符串' '
print(new_list)
# 結(jié)果為:[1, 2, ' ', 3, 3]

第二個(gè)參數(shù)為函數(shù)的引用:
[Python] 純文本查看 復(fù)制代碼
1
2
3
4
5
6
7
8
# 過(guò)濾出列表中的偶數(shù)
def is_even(num):
        return num % 2 == 0
new_list = list(filter(is_even, list(range(1, 11))))
print(new_list)
# 結(jié)果為:[2, 4, 6, 8, 10]



作者:傳智播客人工智能+Python培訓(xùn)學(xué)院

首發(fā):http://python.itcast.cn

0 分享到:
和我們?cè)诰€交談!