编程语言
首页 > 编程语言> > 【Python】filter函数

【Python】filter函数

作者:互联网

    Python中有很多内置函数,内置函数会使代码变得更加精简且高效。这篇博文主要介绍filter函数。

filter() 函数,filter英文含义为过滤,在Python中用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该函数有两个参数,一个为函数,一个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回。

函数形式:

filter(function, iterable)
function:判断函数
iterable:可迭代对象

在使用该函数时,也遇到一些坑,注意:一定要明白含义,iterable是列表,如果输入一个字符串,会产生什么样的效果呢?请看下面案例:

以下函数功能,是为了过滤字符串marks中包含的符号

marks=list("~!!@#$¥%^……&*(())/[【]】{{}}<>_+−=<>.,‘“|\"::-——...\-")
result = list(filter(lambda x: x not in marks, '最喜欢的.地方'))
print (result)

结果:可以看到,把这句话的每个字都拆开了,但是,‘最喜欢的’‘.地方’是两个词,我们想一个词一个词输出,应该怎么做呢

['最', '喜', '欢', '的', '地', '方']
marks=list("~!!@#$¥%^……&*(())/[【]】{{}}<>_+−=<>.,‘“|\"::-——...\-")
result = list(filter(lambda x: x not in marks, ['最喜欢的','.地方']))
print (result)

结果:可以看出,函数是将‘.地方’当做一个整体,去判断,因此,转成list,符号应该单独存放

['最喜欢的', '.地方']

如下:

marks=list("~!!@#$¥%^……&*(())/[【]】{{}}<>_+−=<>.,‘“|\"::-——...\-")
result = list(filter(lambda x: x not in marks, ['.','地方']))
print (result)

结果:

['地方']

这就达到了想要的效果了~

标签:...,函数,Python,list,filter,result,marks
来源: https://blog.csdn.net/Jarry_cm/article/details/104906087