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

    一:概述

    匿名函数主要用来处理比较简单的逻辑,用一行显示,并将运算结果作为返回值返回

    二:书写规则

    函数名 = lambda 参数:返回值

    参数可以有多个,多个参数使用逗号分隔

    三 :例子

    将func函数书写成匿名函数

    def func(x):
        return x**2
    ret = func(2)
    print(ret)
    
    func_lambda = lambda x:x**2
    ret = func_lambda(2)
    print(ret)

    匿名函数主要和其他函数配合使用

    和max函数配合使用

    # 根据字典的值返回最大的键
    
    # 原始做法
    
    dic={'k1':10,'k2':100,'k3':30}
    def func(k):
        return dic[k]
    ret = max(dic,key=func)
    print(ret)
    
    # 使用lambda
    dic={'k1':10,'k2':100,'k3':30}
    ret = max(dic,key=lambda k:dic[k])
    print(ret)

    和map函数配合使用

    # 将列表元素求平方
    # 传统做法
    l = [1,2,3,4,5]
    def func(x):
        return x**2
    ret = map(func,l)
    for i in ret:
        print(i)
    
    # lambda
    l = [1,2,3,4,5]
    ret = map(lambda x:x**2,l)
    for i in ret:
        print(i)

    和map函数混合使用

    # 现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]
    
    ret = zip((('a'),('b')),(('c'),('d')))
    def func(x):
        return {x[0]:x[1]}
    res =list(map(func,ret))
    print(res)
    
    
    res = list(map(lambda x:{x[0]:x[1]},zip((('a'),('b')),(('c'),('d')))))
    print(res)
  • 相关阅读:
    【bzoj1901】dynamic ranking(带修改主席树)
    一堆乱七八糟绝不正经的排序算法
    bzoj2588 Spoj10628. count on a tree
    poj2104 K-th Number
    【bzoj 3595】: [Scoi2014]方伯伯的Oj
    bzoj1926: [Sdoi2010]粟粟的书架
    P3168 [CQOI2015]任务查询系统
    进程和线程
    History of AI
    es6
  • 原文地址:https://www.cnblogs.com/wc89/p/10295597.html
Copyright © 2011-2022 走看看