Python filter 函式 - Python零基礎入門教程
阿新 • • 發佈:2021-07-21
目錄
基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門
一.Python filter 函式簡介
filter 函式主要用來篩選資料,過濾掉不符合條件的元素,並返回一個迭代器物件,如果要轉換為列表 list 或者元祖 tuple ,可以使用內建函式 list 或者內建函式 tuple 來轉換;
filter 函式接收兩個引數,第一個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進行判,然後返回 True 或 False,最後將返回 True 的元素放到新列表中,就好比是用篩子,篩選指定的元素;
'''
引數:
function – 函式名;
iterable – 序列或者可迭代物件;
返回值:通過 function 過濾後,將返回 True 的元素儲存在迭代器物件中,最後返回這個迭代器物件(Python2.0x 版本是直接返回列表 list );
'''
filter(function, iterable)
二.Python filter 函式使用
1.filter 函式簡單使用
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說程式設計 @Blog(個人部落格地址): www.codersrc.com @File:Python filter 函式.py @Time:2021/04/30 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累! """ def check(i): # 如果是偶數返回 True 否則返回False return True if i%2 == 0 else False if __name__ == "__main__": list1 =[1,2,3,4,5,6] result = filter(check,list1) print(result) print(type(result)) # 將返回的迭代器轉為列表list或者元組 print(list(result)) print(type(list(result))) ''' 輸出結果: <filter object at 0x0000015127BA7EB8> <class 'filter'> [2, 4, 6] <class 'list'> '''
2.filter 函式配合匿名函式 Lambda 使用
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說程式設計 @Blog(個人部落格地址): www.codersrc.com @File:Python filter 函式.py @Time:2021/04/30 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累! """ def check_score(score): if score > 60: return True else: return False if __name__ == "__main__": # 成績列表 student_score = {"zhangsan":98,"lisi":58,"wangwu":67,"laowang":99,"xiaoxia":57} # 篩選成績大於60的成績列表 result = filter(lambda score:score > 60,student_score.values()) # 與上面一行程式碼等價 # result = filter(check_score, student_score.values()) print(result) print(type(result)) # 將返回的迭代器轉為列表list或者元組 print(list(result)) print(type(list(result))) ''' 輸出結果: <filter object at 0x000001B761F88FD0> <class 'filter'> [98, 67, 99] <class 'list'> '''
注意:filter 函式返回的是一個迭代器物件,往往在使用時需要先將其轉換為列表 list 或者元祖 tuple 之後再操作;
Python filter 函式其實和內建函式 map 使用方法類似,map 函式也是將迭代器或者序列中的每一個元素對映到指定的函式中,操作完成之後再返回修改後的迭代器物件;
三.猜你喜歡
- Python for 迴圈
- Python 字串
- Python 列表 list
- Python 元組 tuple
- Python 字典 dict
- Python 條件推導式
- Python 列表推導式
- Python 字典推導式
- Python 函式宣告和呼叫
- Python 不定長引數 *argc/**kargcs
- Python 匿名函式 lambda
- Python return 邏輯判斷表示式
- Python 字串/列表/元組/字典之間的相互轉換
- Python 區域性變數和全域性變數
- Python type 函式和 isinstance 函式區別
- Python is 和 == 區別
- Python 可變資料型別和不可變資料型別
- Python 淺拷貝和深拷貝
未經允許不得轉載:猿說程式設計 » Python filter 函式
本文由部落格 - 猿說程式設計 猿說程式設計 釋出!