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


    # 有名函数:基于函数名重复使用
    def func():
    print('from func')

    func()
    func()
    func()


    # 匿名函数:没有绑定名字的下场是用一次就回收了
    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))

    重要的一些内置方法
    max min map filter sorted
    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) # 返回的还是字典的key,这点是不变的
    print(min(salaries,key=lambda k:salaries[k])) #next(iter_s)


    l=[10,1,3,-9,22]
    # l.sort() # 改变l的排序
    # print(l)
    sorted(l) # 不会改变原来l的排序
    print(l)
    l1=sorted(l,reverse=False) # 用sorted只能把排序赋值给新的变量,才能看出变化。可以看成是临时改变,
    print(l1)

    l2=sorted(l,reverse=True)
    print(l2)

    salaries={
    'egon':3000,
    'alex':100000000,
    'wupeiqi':10000,
    'yuanhao':2000
    }
    #
    print(lambda k:salaries[k])
    res = lambda k:salaries[k]

    print(sorted(salaries,key=lambda k:salaries[k],reverse=True))

    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的工作原理
    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))





  • 相关阅读:
    2级搭建类203-Oracle 19c SI ASM 静默搭建(OEL7.7)
    2级搭建类EM-Oracle EMCC 13c Release 3 在 OEL 7.7 上的搭建
    1级搭建类112-Oracle 19c SI FS(CentOS 8)
    0级搭建类013-CentOS 8.x 安装
    List添加map,后添加的map覆盖前面的问题
    mysql插入数据报错1366
    oracle ora-12514解决办法
    easyUI 创建详情页dialog
    Server Tomcat v7.0 Server at localhost failed to start.
    maven项目启动报错;class path resource [com/ssm/mapping/] cannot be resolved to URL because it does not exist
  • 原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9183726.html
Copyright © 2011-2022 走看看