Python filter函数的定义是什么,有哪些简单实例
Admin 2022-08-06 群英技术资讯 1087 次浏览
这篇文章将为大家详细讲解有关“Python filter函数的定义是什么,有哪些简单实例”的知识,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。filter函数是Python中常用的内置函数,调用无需加载库,直接使用即可。它主要用来根据特定条件过滤迭代器中不符合条件的元素,返回一个惰性计算的filter对象或迭代器。需要用list函数进行转换,才能得到符合的条件元素组成的新列表。
其基本调用语法如下:
filter(function or None, iterable)
function:函数,作用是对iterable中的每个元素判断是否符合特定条件。
None:不调用任何函数,只对可迭代对象中的元素本身判断真假,保留为真的元素。
iterables:可迭代对象(序列、字典等)。
我们先来看下filter函数不加list的结果,代码如下:
c = [-10, 28, 9, -5, 30, 5] filter(lambda a:a>0, c)
得到结果:
<filter at 0x27950dbb9d0>
返回一个惰性计算的filter对象或迭代器。接下来看下用list函数进行转换会得到什么,代码如下:
c = [-10, 28, 9, -5, 30, 5] list(filter(lambda a:a>0, c))
得到结果:
[28, 9, 30, 5]
从结果知,filter函数的作用是挑选出了序列c中大于0的元素组成了新的对象或迭代器。通过list函数进行转换,进而得到符合条件的元素组成的新列表。如果有朋友对代码中的lambda函数不熟悉,可以参考【Python常用函数】一文让你彻底掌握Python中的lambda函数。
在filter函数定义中提到,filter函数中参数None表示不调用任何函数,只对可迭代对象中的元素本身判断真假,保留为真的元素。
测试代码如下:
#找出序列中的非0数 c2 = [4, 9, 0, -5, -8, 7, 0] list(filter(None, c2))
得到结果:
[4, 9, -5, -8, 7]
由于0在Python中默认为False,非0默认为True,所以在筛选过程中对0进行了过滤。
在filter函数定义中提到,它对可迭代对象进行处理,所以包括了列表和字典等对象。前两个例题都是对列表进行处理,本例看下对字典的处理。代码如下:
#找出字典中大于2的键
list(filter(lambda x:x>2, {1:'杨紫', 2:'刘诗雯', 3:'张继科', 4:'王明', 5:'刘明'}))
得到结果:
[3, 4, 5]
从结果知,filter函数对字典进行处理的时候,筛选的对象是字典的键,而不是字典的值。
最后我们来看一个小学常常碰到的题,求100以内既是3的倍数又是奇数的正整数。代码如下:
#求100以内既是奇数又是3的倍数的正整数 import numpy as np list(filter(lambda x:x%2!=0 and x%3==0, np.arange(1, 101)))
得到结果:
[3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 63, 69, 75, 81, 87, 93, 99]
其中np.arange(1, 101))表示1到100公差为1的等差数列。
x%2!=0表示该数不能整除2,即为奇数。
x%3==0表示该数能整除3,即为3的倍数。
可以人工复核一下,发现Python得到的结果是正确的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了Python中的字符串常识,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
python中random模块常见函数:random.choice()、random.randrange()、random.random()、random.seed()、random.shuffle()、random.uniform()。
这篇博客将介绍Canny边缘检测的概念,并利用cv2.Canny()实现边缘检测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家介绍了Keras搭建孪生神经网络Siamese network比较图片相似性,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
我们知道,在计算机中,各种数据,各种程序通常是以文件的形式有组织地存放在磁盘、磁带等存储介质上的。文件是我们使用计算机必须使用的工具。在python中文件也很多,想要得到一个程序,就要向文件输入内容。write中文翻译为书写,在python中,就是用write函数写入文件。本文将向大家介绍python中是如何用wreite函数写入文件和设置文件字体大小的。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008