Lambda表达式实例

  • 1.重复一个字符串N次

    1
    repeatChar=lambda char,n:char*n
    
    In [1]:repeatChar('c',5)
    Out [1]:'ccccc'
    
  • 2.列表排序

    2
    a = [(1, 2), (4, 1), (9, 10), (13, -3)]
    a.sort(key=lambda x: x[1])
    print(a)
    
    # Output: [(13, -3), (4, 1), (1, 2), (9, 10)]
    
  • 3. 三元运算符

    3
    def getPoints(answers, p):
        questionPoints = lambda i,ans: (i+1) if ans else -p
    
        res = 0
    for i, ans in enumerate(answers):
        res += questionPoints(i, ans)
    return res
    

    三元运算符定义:

    #如果条件为真,返回真 否则返回假
    condition_is_true if condition else condition_is_false
    
  • 4. 字符列表排序

    用姓氏按照字典顺序排列学生名。如果两个学生碰巧有相同的姓氏,他们的结果顺序应该与原始列表中的顺序相同。

    4
    def sortStudents(students):
        students.sort(key= (lambda s:s.split()[-1]) )
        return students
    

    输入:

    students = ["John Smith", "Jacky Mon Simonoff", "Lucy Smith", "Angela Zimonova"]
    

    输出:

    sortStudents(students) = ["Jacky Mon Simonoff", "John Smith","Lucy Smith", "Angela Zimonova"]
    
  • 5. 各位数字求和

    给定的一个整数,譬如a=1234对各位数字求和,结果为result=10.

    5
    a=1234
    digitSum=lambda x:sum(map(int,list(str(x))))
    sm=digitSum(a)
    
    print(sm)
    
    #Output:
    10
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值