美文网首页Python基础系列
Python 内置函数补充匿名函数

Python 内置函数补充匿名函数

作者: 我爱学python | 来源:发表于2019-08-09 15:47 被阅读0次

    Python3 匿名函数

    定义一个函数与变量的定义非常相似,对于有名函数,必须通过变量名访问

    def func(x,y,z=1):
        return x+y+z
    
    print(func(1,2,3))
    

    匿名函数定义:使用 lambda 来创建匿名函数

    匿名函数1. 没有名字 2:函数体自带return

    匿名函数

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    def func(x,y,z=1):
    
    return x+y+z
    print(lambda x,y,z=1:x+y+z)
    
    function <lambda> at 0x0000000003469488>
    匿名函数也是一个函数对象,匿名函数赋值给一个变量,再利用变量来调用该函数
    f=lambda x,y,z=1:x+y+z
    print(f)
    print(f(1,2,3))
    

    匿名函数的应用场景:应用于一次性的场景,临时使用

    2、匿名函数结合使用内置函数的用法

    max,min,sorted,map,reduce,filter的用法

    字典的运算:最小值,最大值,排序

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    salaries={
    'egon':3000,
    'alex':100000000,
    'wupeiqi':10000,
    'yuanhao':2000
    }
    
    print(max(salaries))  #  默认比较key值大小
    print(max(salaries.values()))  # 比较values值
    print(max(salaries,key=lambda name:salaries[name]))  取values,来比较
    print(min(salaries,key=lambda name:salaries[name])) 取values,来比较
    print(max(zip(salaries.values(),salaries.keys()))[1])  # 通过zip的方式实现
    
    
    
    
    def get_value(name):
        return salaries[name]
    print(max(salaries,key=get_value))
    
    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    names=['alex','wupeiqi','yuanhao','yanglei','egon']
    res=map(lambda x:x if x == 'egon' else x+'二狗子',names)
    print(res)
    print(list(res))
    
    names=['alex','wupeiqi','yuanhao','yanglei','egon']
    
    def my_map(func,seq):
    
        for item in seq:
    
            yield func(item)
    
    res1=my_map(lambda x:x+'_二狗',names)
    
    print(next(res1))
    
    print(next(res1))
    
    functools中导入reduce模块
    
    from functools import reduce
    print(reduce(lambda x,y:x+y,range(101),100))
    print(reduce(lambda x,y:x+y,range(101)))
    
    names=['alex_二狗','wupeiqi_二狗','yuanhao_二狗','yanglei_二狗','egon']
    
    print(list(filter(lambda name:name.endswith('二狗'),names)))
    

    相关文章

      网友评论

        本文标题:Python 内置函数补充匿名函数

        本文链接:https://www.haomeiwen.com/subject/aeehjctx.html