python lambda 表达式

  • 没有名字的函数
  • 用 lambda 表达式
  • 创建匿名函数
  • 2、使用场景

  • 需要一个函数,但是又不想费神去命名这个函数
  • 通常在这个函数只使用一次的场景下
  • 可以指定短小的回调函数
  • 3、语法

  • result = lambda [arg1 [, arg2, .... , argn]]: expression
  • result:调用 lambda 表达式
  • [arg1 [, arg2, …. , argn]]:可选,指定要传递的参数列表
  • expression:必选,指定一个实现具体功能的表达式
  • 4、场景练习

  • ‍给定一个正整数n和一个目标数字target,请编写一个函数,将0到n之间(包含首尾)的所有数字进行平方,统计并返回这些平方数中包含target目标数的总个数。如果平方数中含出现多次目标数字,应当统计多次。
    示例:
    输入:n=10, target = 1
    输出:4
    解释:平方后得到 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100,含有1的数字有1,16,81和100,所以是返回4。
  • n=10
    target=1
    list1=[]
    for i in range(0,11):
        pf=i**2
        list1.append(pf)
    print(list1)#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    si =type(str(list1))#<class 'str'>
    print(si)
    #过滤列表的每个元素,符合这个条件的str(x).__contains__('1'),可以看成入参就是判断条件和列表元素
    a=filter(lambda x:str(x).__contains__('1'), list1)
    print(a)
    b=list(filter(lambda x:str(x).__contains__('1'), list1))
    print(b)#[1, 16, 81, 100]
    print(len(list(filter(lambda x:str(x).__contains__('1'), list1))))#4

    5、参考文章

  • lambda与filter使用结合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值