百木园-与人分享,
就是让自己快乐。

Python filter 函数 - Python零基础入门教程

目录

  • 一.Python filter 函数简介
  • 二.Python filter 函数使用
    • 1.filter 函数简单使用
    • 2.filter 函数配合匿名函数 Lambda 使用
  • 三.猜你喜欢

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

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

    来源:https://www.cnblogs.com/shuopython/p/15039306.html
    图文来源于网络,如有侵权请联系删除。

    未经允许不得转载:百木园 » Python filter 函数 - Python零基础入门教程

    相关推荐

    • 暂无文章