zoukankan      html  css  js  c++  java
  • 匿名函数

    有名函数:基于函数名重复使用

    匿名函数:没有绑定名字的下场是用一次就回收了

    def func(x,y): #func=函数的内存地址
        return x + y
    
    res=(lambda x,y:x+y)(1,2)
    print(res)
    
    f=lambda x,y:x+y
    print(f)
    print(f(1,2))      #匿名函数不需要return就可以返回值
    #定义一个字典
    salaries={
        'egon':3000,
        'alex':100000000,
        'wupeiqi':10000,
        'yuanhao':2000
    }
    # max的工作原理
    #1 首先将可迭代对象变成迭代器对象
    #2 res=next(可迭代器对象),将res当作参数传给key指定的函数,然后将该函数的返回值当作判断依据
    # def func(k):
    #     return salaries[k]
    #
    # print(max(salaries,key=func)) #next(iter_s)
    #'egon', v1=func('egon')
    #'alex', v2=func('alex')
    #'wupeiqi', v3=func('wupeiqi')
    #'yuanhao', v4=func('yuanhao')
    salaries={
        'egon':3000,
        'alex':100000000,
        'wupeiqi':10000,
        'yuanhao':2000
     }

    #匿名函数写法
    # print(max(salaries,key=lambda k:salaries[k])) #next(iter_s) # print(min(salaries,key=lambda k:salaries[k])) #next(iter_s)
    sorted:重新排列
    l=[10,1,3,-9,22] l1=sorted(l,reverse=False) #按升序 print(l1) l2=sorted(l,reverse=True)    #按降序 print(l2)
    salaries={
        'egon':3000,
        'alex':100000000,
        'wupeiqi':10000,
        'yuanhao':2000
    }
    
    print(sorted(salaries,key=lambda k:salaries[k],reverse=True))
    
    #输出结果为['alex', 'wupeiqi', 'egon', 'yuanhao']
    names=['张明言','刘华强','苍井空','alex']
    
    # map的工作原理
    # 1 首先将可迭代对象变成迭代器对象
    # 2 res=next(可迭代器对象),将res当作参数传给第一个参数指定的函数,然后将该函数的返回值当作map的结果之一
    aaa=map(lambda x:x+"_SB",names)
    print(aaa)
    print(list(aaa))
    
    print([name+"_SB" for name in names])
    # filter的工作原理
    #1 首先将可迭代对象变成迭代器对象
    #2 res=next(可迭代器对象),将res当作参数传给第一个参数指定的函数,然后filter会判断函数的返回值的真假,如果为真则留下res
    names=['alexSB','egon','wxxSB','OLDBOYSB']
    
    print([name for name in names if name.endswith('SB')])
    
    aaa=filter(lambda x:x.endswith('SB'),names)
    print(aaa)
    print(list(aaa))
  • 相关阅读:
    mysql主从延迟判断,监控和问题处理
    oracle备份
    oracle的查询命令
    Appcan 自定义数字加减控件
    PowerDesigner16.5 有用地址
    git远程仓库关联(码云)
    leetcode27.移除元素(双指针法)
    leetcode26.删除排序数组中的重复项(双指针法,顺序表删除)
    leetcode21.合并两个有序链表(链表使用,递归算法)
    leetcode20.有效的括号(hashmap使用,键值匹配)
  • 原文地址:https://www.cnblogs.com/chillwave/p/9183618.html
Copyright © 2011-2022 走看看