1. 程式人生 > 其它 >Python filter 函式 - Python零基礎入門教程

Python filter 函式 - Python零基礎入門教程

目錄

基礎 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 函式也是將迭代器或者序列中的每一個元素對映到指定的函式中,操作完成之後再返回修改後的迭代器物件;

三.猜你喜歡

  1. Python for 迴圈
  2. Python 字串
  3. Python 列表 list
  4. Python 元組 tuple
  5. Python 字典 dict
  6. Python 條件推導式
  7. Python 列表推導式
  8. Python 字典推導式
  9. Python 函式宣告和呼叫
  10. Python 不定長引數 *argc/**kargcs
  11. Python 匿名函式 lambda
  12. Python return 邏輯判斷表示式
  13. Python 字串/列表/元組/字典之間的相互轉換
  14. Python 區域性變數和全域性變數
  15. Python type 函式和 isinstance 函式區別
  16. Python is 和 == 區別
  17. Python 可變資料型別和不可變資料型別
  18. Python 淺拷貝和深拷貝

未經允許不得轉載:猿說程式設計 » Python filter 函式

本文由部落格 - 猿說程式設計 猿說程式設計 釋出!