Python filter 函数 - Python零基础入门教程(python培训)

网友投稿 273 2022-06-19


一.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(个人博客地址): 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)))

'''

输出结果:

[2, 4, 6]

'''

2.filter 函数配合匿名函数 Lambda 使用

# !usr/bin/env python

# -*- coding:utf-8 _*-

"""

@Author:猿说编程

@Blog(个人博客地址): 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)))

'''

输出结果:

[98, 67, 99]

'''

注意:filter 函数返回的是一个迭代器对象,往往在使用时需要先将其转换为列表 list 或者元祖 tuple 之后再操作;


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python爬虫 - js逆向解密之某翻译加密算法V2(python爬虫数据)
下一篇:【Python】:Python import导入上一级目录的文件和模块
相关文章

 发表评论

暂时没有评论,来抢沙发吧~