目录
基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门
filter 函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表 list 或者元祖 tuple ,可以使用内置函数 list 或者内置函数 tuple 来转换;
filter 函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中,就好比是用筛子,筛选指定的元素;
''' 参数: function – 函数名; iterable – 序列或者可迭代对象; 返回值:通过 function 过滤后,将返回 True 的元素保存在迭代器对象中,最后返回这个迭代器对象(Python2.0x 版本是直接返回列表 list ); ''' filter(function, iterable)
# !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'> '''
# !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 filter 函数
本文由博客 - 猿说编程 猿说编程 发布!