Python函数式编程之filter函数

高阶函数——filter

filter(f,itr)`将函数`f`作用于迭代器的每个元素,如果f返回true,则将结果加到最后输出,否则过滤掉

#高阶函数——filter
# filter(f,itr)`将函数`f`作用于迭代器的每个元素,如果f返回true,则将结果加到最后输出,否则过滤掉
#筛选出偶数
list1=list(filter(lambda x:x%2==0,range(1,11)))
print(list1)
#筛选出奇数
list2=list(filter(lambda x:x%2==1,range(1,11)))
print(list2)


#判断分数是否及格
def func(x):
    if x>60:
        return True
    else:
        return False

#筛选出及格的分数
list3=list(filter(func,[98,97,59,63,45,86]))
print(list3)

#回数是指从左向右读和从右向左读都是一样的数,例如12321,909。
# 请利用filter()筛选出500以内回数

def isBack(num):
    c=num%10
    b=int(num/10)%10
    a=int(num/100)%10
    #print(f"{a}-{b}-{c}")
    if a==0:
        if b==0:
            return True
        elif b==c:
            return True
        else:
            return False
    elif a==c:
        return True
    else:
        return False

list4=list(filter(isBack,range(0,500)))
print(list4)

运行结果:

[1, 3, 5, 7, 9]
[98, 97, 63, 86]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 222, 232, 242, 252, 262, 272, 282, 292, 303, 313, 323, 333, 343, 353, 363, 373, 383, 393, 404, 414, 424, 434, 444, 454, 464, 474, 484, 494]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值