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

全國咨詢/投訴熱線:400-618-4000

python3中的filter()函數

更新時間:2018年12月19日14時48分 來源:傳智播客 瀏覽次數:

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

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



作者:傳智播客人工智能+Python培訓學院

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

0 分享到:
和我們在線交談!