Python函数之匿名函数

时间:2024-07-08 18:37:50

一:概述

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

二:书写规则

函数名 = 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)