day16 Python filter函数

前戏

movie_people = ["alex","charon","pluto","liu","sb","sb_250"]

ret = []
for i in movie_people:
    if not i.startswith("sb"):
        ret.append(i)

print(ret)

结果:
['alex', 'charon', 'pluto', 'liu']

 前五分钟

movie_people = ["alex","charon","pluto","liu","sb","sb_250"]

def filter_test(arrat):
    ret = []
    for i in arrat:
        if not i.startswith("sb"):
            ret.append(i)
    return ret

print(filter_test(movie_people))

结果:
['alex', 'charon', 'pluto', 'liu']

 十分钟

movie_people=['alex_sb','wupeiqi_sb','linhaifeng','yuanhao_sb']
def sb_show(n):
    return n.endswith('sb')

def filter_test(func,array):
    ret=[]
    for p in array:
        if not func(p):
               ret.append(p)
    return ret

res=filter_test(sb_show,movie_people)
print(res)

结果:
linhaifeng

 十五分钟

movie_people=['alex_sb','wupeiqi_sb','linhaifeng','yuanhao_sb']
# def sb_show(n):
#     return n.endswith('sb')
#--->lambda n:n.endswith('sb')
#  :前面是参数,后面是返回值
def filter_test(func,array):
    ret=[]
    for p in array:
        if not func(p):
               ret.append(p)
    return ret

res=filter_test(lambda n:n.endswith('sb'),movie_people)
print(res)

#filter函数
movie_people=['alex_sb','wupeiqi_sb','linhaifeng','yuanhao_sb']
print(filter(lambda n:not n.endswith('sb'),movie_people))



res=filter(lambda n:not n.endswith('sb'),movie_people)
print(list(res))


print(list(filter(lambda n:not n.endswith('sb'),movie_people)))

结果:
['linhaifeng']
<filter object at 0x7f9aa857b908>
['linhaifeng']
['linhaifeng']

 

转载于:https://www.cnblogs.com/charon2/p/10375758.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值