zoukankan      html  css  js  c++  java
  • day18 Pyhton学习 匿名函数

    匿名函数 别称: lambda表达式

    函数,没有名字

    def wahaha(n):#wahaha
        return n**2
    print(wahaha.__name__)
    
    qqxing = lambda n : n**2
    print(qqxing.__name__)#lambda
    ret = qqxing(8)
    print(ret)#64
    
    f = lambda *args:sum(args)
    ret = f(1,2,3,4,5)
    print(ret)#15
    # 匿名函数
    # 定义
    # 匿名函数的内存地址 = lambda 参数1,参数2 : 返回值/返回值的表达式
    # 调用
    # 接收返回值 = 匿名函数的内存地址(参数)
    
    dic={'k1':10,'k2':100,'k3':30}
    def func(k):
        return dic[k]
    m = max(dic,key = func)
    print(m)#k2
    
    m = max(dic,key = lambda k:dic[k])
    print(m)#k2
    # 内置函数+匿名函数
    l1 = [1,5,7,4,8]
    # 每一个数的平方%2
    ret = map(lambda n : n**2%2 ,l1)
    print(list(ret))#[1, 1, 1, 0, 0]
    
    l2 = [3,10,20,50,22,7]
    # 找到大于20的所有数
    ret = filter(lambda n : n>20,l2)
    print(list(ret))#[50, 22]
    
    l3 = [{'name':'alex','age':83},{'name':'wusir','age':38}]
    # 1.找到年龄大于40的值  filter
    # 2.将列表中的项按照年龄从小到大排序 sorted
    # 3.给列表中的每一个人的年龄+1
    # 1
    def func(dic):
        return dic['age']>40
    ret = filter(lambda dic:dic['age']>40,l3)
    print(list(ret))#[{'name': 'alex', 'age': 83}]
    
    #2
    def func(dic):
        return dic['age']
    ret = sorted(l3,key=lambda dic:dic['age'])
    print(ret)#[{'name': 'wusir', 'age': 38}, {'name': 'alex', 'age': 83}]
    
    # 3 lambda 并不能取代函数
    def func(dic):
        dic['age'] += 1
        return dic
    ret = map(lambda dic : {'name':dic['name'],'age':dic['age']+1},l3)
    print(list(ret))#[{'age': 84}, {'age': 39}]
  • 相关阅读:
    Flask之flask-script
    Flask之flask-sqlalchemy
    sqlalchemy之基础操作
    Linux之服务管理
    python之PEP8规范
    app开发-1
    Mongodb之pymongo
    Mongodb之增删改查操作
    Mongodb之数据类型
    linux的virtualenv和virtualenvwarpper
  • 原文地址:https://www.cnblogs.com/pythonz/p/9937161.html
Copyright © 2011-2022 走看看