匿名函数的格式:
函数名 = lambda 参数:返回值
#参数可以有多个,用 逗号隔开
#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
#返回值和正常的函数一样可以是任意数据类型
例如:
原函数:
def add(x,y):
return x+y
变成匿名函数后:
add lambda x,y:x+y
举个栗子:
d = lambda p:p*2
t = lambda p:p*3
x = 2
x = d(x)
x = t(x)
x = d(x)
print(x)
栗子:
现有元组((‘a’),(‘b’)),((‘c’),(‘d’)),生成列表[{‘a’:‘c’},{‘b’:‘d’}]
ret = zip((('a'),('b')),(('c'),('d')))
def func(tup):
return {tup[0]:tup[1]}
res = map(func,ret)
print(list(res))
匿名函数的写法:
ret = zip((('a'),('b')),(('c'),('d')))
res = map(lambda tup:{tup[0]:tup[1]},ret)
print(list(res))
还可以改:
print(list(map(lambda tup:{tup[0]:tup[1]},zip((('a'),('b')),(('c'),('d'))))))
下面介绍一下zip函数:
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
下面看一个栗子:
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,]
print(list(zip(a,b)))
print(list(zip(a,c)))
运行结果: