(Python)常用高级函数:filter() 的使用

这篇具有很好参考价值的文章主要介绍了(Python)常用高级函数:filter() 的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

filter()函数是Python 3内置的一种常用函数,主要的功能是按照给定的条件过滤列表,并返回符合条件的元素。

filter()函数的语法规则如下:

可迭代对象中的每个元素将作为参数传递给判断函数进行判断,判断函数将会返回True或False,最后返回所有判断为True的元素。

filter(function,iterable)

function -> 判断条件
iterable -> 可迭代对象

和map函数相同,在Python中filter函数返回的是一个迭代器,这意味着我们无法通过index访问filter对象,也不能通过len获得filter对象的长度。

# Demo
Demo_lists=[1,2,3,4,5,6,7]

Demo_result_lists=filter(lambda x:x>2,Demo_lists)
print(f'filter type : {type(Demo_result_lists)}')


# Result
filter type : <class 'filter'>

我们可以直接for循环来依次输出filter对象中的每个元素,但是这个迭代器只能执一次,如果想多次重复使用filter函数的结果,可以使用list将这个迭代器转换为列表。

# Demo
Demo_lists=[1,2,3,4,5,6,7]

Demo_result_lists=filter(lambda x:x>2,Demo_lists)
print(f'filter type : {type(Demo_result_lists)}')

print('First iterator output : ')
for iter in Demo_result_lists:
    print(iter)
print('Second iterator output : ')
for iter in Demo_result_lists:
    print(iter)

Demo_result_lists=filter(lambda x:x>2,Demo_lists)
Demo_result_lists=list(Demo_result_lists)
print('First list output : ')
print(Demo_result_lists)
print('Second list output : ')
print(Demo_result_lists)


# Result
First iterator output : 
3
4
5
6
7
Second iterator output : 

First list output : 
[3, 4, 5, 6, 7]
Second list output : 
[3, 4, 5, 6, 7]

下面给出filter函数的几种用法实例:

1.利用filter函数筛选出列表中为奇数的元素

# 1.利用filter函数筛选出列表中为奇数的元素
Demo_lists=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]

def Is_odd(n):
    return n%2==1

Result_lists=filter(Is_odd,Demo_lists)
Result_lists=list(Result_lists)
print(Result_lists)


# Result
[1, 3, 5, 7, 9, 11, 13, 15, 17]

在Python中,filter函数经常和匿名函数lambda函数一起使用,例如:

2.利用filter函数过滤掉列表中的数字0

# 2.利用filter函数过滤掉列表中的数字0
Demo_lists=[1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9]

Result_lists=filter(lambda x:x!=0,Demo_lists)
# 同样也可以写成以下形式:
# Result_lists=filter(lambda x:x!=0,Demo_lists)
# 因为在Python中:
# 1==True
# 0==False
Result_lists=list(Result_lists)
print(Result_lists)


# Result
[1, 2, 3, 4, 5, 6, 7, 8, 9]

3.利用filter函数过滤列表中字母的大小写

# 3.利用filter函数过滤列表中字母的大小写
Alphabet_demo_lists=['a','b','C','D','e','F','H','i']

Upper_result_lists=filter(lambda x:x.isupper(),Alphabet_demo_lists)
Lower_result_lists=filter(lambda x:x.islower(),Alphabet_demo_lists)

Upper_result_lists=list(Upper_result_lists)
Lower_result_lists=list(Lower_result_lists)

print(f'Upper : {Upper_result_lists}')
print(f'Lower : {Lower_result_lists}')



# Result
Upper : ['C', 'D', 'F', 'H']
Lower : ['a', 'b', 'e', 'i']

4.利用filter函数处理字典构成的列表

# 4.利用filter函数处理字典构成的列表
Dict_demo_lists=[
    {'name':'Tom','score':64},
    {'name':'Amy','score':75},
    {'name':'Jack','score':88},
    {'name':'Louis','score':55}
]


Result_lists=filter(lambda x:x['score']>70,Dict_demo_lists)
Result_lists=list(Result_lists)

print(Result_lists)



# Result
[{'name': 'Amy', 'score': 75}, {'name': 'Jack', 'score': 88}]

Reference:文章来源地址https://www.toymoban.com/news/detail-496875.html

  1. python 中的 filter() 函数——用于过滤序列,过滤掉不符合条件的元素,返回符合条件的元素组成新列表。_牛牛来了的博客-CSDN博客_python中filter

到了这里,关于(Python)常用高级函数:filter() 的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • js 中数组的 filter() 函数的基本使用

    filter() 又称为过滤器函数或筛选函数。 filter() 把传入的函数依次作用于每个元素,然后根据返回值是 true 还是 false 决定保留还是丢弃该元素 filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 注意:filter() 不会对空数组进行检测 注意

    2024年02月04日
    浏览(37)
  • Python高级编程之旅2:高级函数

    欢迎来到《Python高级编程之旅》系列的第二篇博客!在上一篇中,我们介绍了面向对象编程的概念和优势。今天,我们将继续探索Python中的高级编程技术,重点是高级函数。高级函数是Python中非常强大和灵活的概念,可以帮助我们编写更简洁、可读性更高的代码。让我们一起

    2024年01月19日
    浏览(44)
  • python高级知识之常用的魔术方法

    前言:魔法方法(Magic Method)是python内置方法,格式为:“__方法名__”,不需要主动调用,存在的目的是为了给python的解释器进行调用,几乎每个魔法方法都有一个对应的内置函数,或者运算符,当我们对这个对象使用这些函数或者运算符时就会调用类中的对应魔法方法,可以

    2024年02月11日
    浏览(77)
  • Python笔记2(函数参数、面向对象、装饰器、高级函数、捕获异常、dir)

    Python笔记1(赋值、浅拷贝和深拷贝、字符串日期转换、argparse、sys、overwrite、eval、json.dumps/json.loads、os.system(cmd)、zfill、endswith、open) 参数定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号, 隔开。 定义

    2024年02月08日
    浏览(52)
  • 【Hive 01】简介、安装部署、高级函数使用

    Hive是建立在 Hadoop上的数据仓库基础构架,它提供了一系列的工具,可以进行数据提取、转化、加载( ETL ) Hive定义了简单的类SQL查询语言,称为HQL,它允许熟悉SQL的用户直接查询Hadoop中的数据 Hive包含SQL解析引擎,它会将SQL语句转译成MR Job,然后在Hadoop中执行 Hive的数据存储

    2024年02月16日
    浏览(33)
  • Postgresql的高级聚合函数使用实例(超详细)

    PostgreSQL是一种开源的强大SQL数据库管理系统,它提供了丰富的聚合函数来进行数据分析和计算。高级聚合函数是PostgreSQL中一类非常强大的聚合函数,可以通过自定义的方式进行一些高级的数据计算,例如按照给定的索引或条件计算平均值、累加值或者其他的复杂的汇总值。

    2024年02月09日
    浏览(46)
  • Logstash filter常用插件详解;

    grok 插件:  Grok是将非结构化日志数据解析为结构化和可查询内容的好方法,底层原理是基于正则匹配任意文本格式  此工具非常适合syslog日志、apache和其他Web服务器日志、mysql日志,以及一般来说,任何通常为人类而不是计算机消费编写的日志格式。 grok内置了120种匹配模

    2024年02月05日
    浏览(34)
  • filter函数的用法

    filter函数是数组里的一个方法,它主要起到的是过滤作用,filter()创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。 (1)filter() 不会对空数组进行检测; (2)filter() 不会改变原始数组。 !!!需要注意的一点,filter函数存在一个隐式转换机制

    2024年02月16日
    浏览(45)
  • 【0基础入门Python笔记】三、python 之函数以及常用内置函数

    函数是一种用于封装可重复使用代码块的工具,能够将一系列操作组织成一个逻辑单元。 函数定义 在Python中,函数通过def进行定义,后面跟着函数的名称、参数列表和冒号。函数的主体代码块缩进,并在需要时使用return返回值。 在上面的示例中,我们定义了一

    2024年02月12日
    浏览(73)
  • 高级数据结构与算法 | 布谷鸟过滤器(Cuckoo Filter):原理、实现、LSM Tree 优化

    如果对布隆过滤器不太了解,可以看看往期博客:海量数据处理(一) :位图与布隆过滤器的概念以及实现 布隆过滤器 局限 对于需要处理海量数据的时候,如果我们需要快速判断一条记录是否,通常会使用过滤器来进行验证,而其中最常见的就是布隆过滤器(Bloom Filter)—

    2024年02月19日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包