zoukankan      html  css  js  c++  java
  • python函数(六)—匿名函数

    匿名函数

    1.实例

    f=lambda x,y:x+y
    print(f(1,2))

    等同于

    def func(x,y):
        return x+y
    func(1,2)

    2.应用

    salaries={
    'egon':3000,
    'alex':100000000,
    'wupeiqi':10000,
    'yuanhao':2000
    }

    print(max(salaries))         #默认按key排序
    res=zip(salaries.values(),salaries.keys())  #运用zip函数调换key,value的位置,是一个zip对象,迭代器

    print(list(res))  #列表对象
    print(max(res))  # 还是键值对

    按照value比较,返回key

    def func(k):
       return salaries[k]

    print(max(salaries,key=func))

    运用匿名函数实现
    print(max(salaries,key=lambda k:salaries[k]))

    3.拓展

    匿名函数与sorted的联合运用
    print(sorted(salaries)) #默认的排序结果是从小到到

    print(sorted(salaries,key=lambda x:salaries[x])) #默认的排序结果是从小到到

    print(sorted(salaries,key=lambda x:salaries[x],reverse=True)) #默认的排序结果是从小到到

    匿名函数与map

    l=['alex','wupeiqi','yuanhao']

    res=map(lambda x:x+'_SB',l)

    print(list(res))

    nums=(2,4,9,10)

    res1=map(lambda x:x**2,nums)

    print(list(res1))

    匿名函数与reduce

    from functools import reduce

    l=[1,2,3,4,5]
    print(reduce(lambda x,y:x+y,l,10)) #带初始值的求和运算


    l=['alex_SB','wupeiqi_SB','yuanhao_SB','egon']

    res=filter(lambda x:x.endswith('SB'),l)
    print(res)
    print(list(res))

  • 相关阅读:
    解题:AHOI 2005 航线规划
    解题:SCOI 2008 天平
    解题:SCOI 2014 方伯伯运椰子
    解题:APIO 2008 免费道路
    解题:USACO15JAN Grass Cownoisseur
    669. 换硬币(dp动态规划)
    8. 旋转字符串
    147. 水仙花数
    1131. 排列中的函数
    78. 最长公共前缀
  • 原文地址:https://www.cnblogs.com/geek-ace/p/6936507.html
Copyright © 2011-2022 走看看