Python进阶—filter函数

filter有“过滤”的意思,filter函数作用是过滤列表中的元素,返回一个由所有符合条件的元素组成的列表。符合条件即条件函数映射到该元素时返回值为True,话不多说,举栗子:

list1 = [1, 2, 3, 4, 5, 6]
#求列表中所有能被2整除的元素,并且结果以列表形式返回

#方法一:
list2 = []
for i in list1:
    if i % 2 == 0:
        list2.append(i)
print list2

#方法二:
def func(x):
    if x % 2 == 0:
        return True
    else:
        return False    
print filter(func,list1)

#方法三:
print filter(lambda x: x % 2 == 0, list1)

#注:如果使用的是python3,filter返回的是一个迭代器,需要用list转换一下格式
print list(filter(lambda x: x % 2 == 0, list1))

输出:

[2, 4, 6]
[2, 4, 6]
[2, 4, 6]
[2, 4, 6]

其实,filter也类似于一个for循环,但是它是内部函数,计算速度比较快,结合lambda使用比较方便简洁。对于处理列表、元组、字典中所有元素的方法,还可以使用推导式,我会在别的章节讲到。
The End!Thanks~

转自 http://17coding.top

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值