Python函数之匿名函数
Posted 择一事,终一生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
以上是关于Python函数之匿名函数的主要内容,如果未能解决你的问题,请参考以下文章