【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)

结果:

['地方']

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值