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 函数

本文由博客 - 猿说编程 猿说编程 发布!

posted @ 2021-07-21 14:22  猿说编程  阅读(1031)  评论(0编辑  收藏  举报