1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

Python简要解读filter函数用法

Python中的filter函数

在Python中,学习培训各种常用函数对于处理和解决操作过程中的问题是至关重要的。本文将和大家一起去探寻Python中的filter函数,使你以有限的时间可以搞清楚这一函数的基本原理。同时,通过碎片化时长夯实这一函数公式,使你在解决操作过程中更有效。

Python简要解读filter函数用法

filter函数的概念

filter函数是Python常用的内置函数,启用不用载入库,直接用就可以。它主要是用于依据特殊条件过滤迭代器中不符合要求的元素,返回一个可迭代的filter目标或迭代器。必须用list函数开展变换,才会得到符合前提条件元素组成的列表。

其基本使用方法如下:

filter(function or None, iterable)

function:函数公式,作用是对iterable中的每一个元素确定是否符合特定条件。

None:不使用任何函数公式,仅对可迭代对象中元素自身分辨真伪,保存为确实元素。

iterable:可迭代对象(编码序列、词典等)。

filter函数案例

下面将通过一些实例来展示filter函数的使用方法:

例1.求一个编码序列中小于零的元素组成的编码序列

首先来看一下filter函数不加list的返回结果:

c=[-10,28,9,-5,30,5]
filter(lambda a: a > 0, c)

结果为:<filter object at 0x10c440128>

而使用list函数进行变换:

c=[-10,28,9,-5,30,5]
list(filter(lambda a: a > 0, c))

结果为:[28, 9, 30, 5]

从结果可以看出,filter函数筛出了编码序列c中大于0的元素组成了新的对象或迭代器,在使用list函数变换后获得了符合条件的元素组成的列表。

例2.求编码序列中非零数所组成的新编码序列

在filter函数界定中指出,filter函数中主要参数None表示不使用任何函数公式,仅对可迭代对象中元素自身分辨真伪,保存为确实元素。测试程序如下所示:

c2=[4,9,0,-5,-8,7,0]
list(filter(None, c2))

结果为:[4, 9, -5, -8, 7]

因为0在Python中默认False,非0默认True,因此在挑选时对0进行了过滤。

例3.求词典中超过2的键所组成的新编码序列

filter函数对于可迭代对象予以处理,因此涵盖了列表和词典等目标。测试程序如下所示:

list(filter(lambda x: x > 2, {1:'杨紫李现', 2:'朱雨玲', 3:'樊振东', 4:'孙建', 5:'刘文'}))

结果为:[3, 4, 5]

从结果可以看出,filter函数对词典予以处理时,挑选对象是词典的键,而非词典的数值。

例4.求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编程时,熟悉常用函数的使用方法对于提高编程效率和解决问题有重要作用。本文介绍了Python中的filter函数的概念以及使用方法,以各种实例更直观地展示了其运用过程,相信能给读者带来帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6657.html