博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
匿名函数
阅读量:5299 次
发布时间:2019-06-14

本文共 1035 字,大约阅读时间需要 3 分钟。

匿名函数

匿名函数:为了解决那些功能很简单的需求而设计的一句话函数

 

#这段代码def calc(n):    return n**nprint(calc(10)) #换成匿名函数calc = lambda n:n**nprint(calc(10))

上面是我们对calc这个匿名函数的分析,下面给出了一个关于匿名函数格式的说明

函数名 = lambda 参数 :返回值#参数可以有多个,用逗号隔开#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值#返回值和正常的函数一样可以是任意数据类型

我们可以看出,匿名函数并不是真的不能有名字。

匿名函数的调用和正常的调用也没有什么分别。 就是 函数名(参数) 就可以了~~~

练一练:

请把以下函数变成匿名函数def add(x,y):    return x+yadd=lambda x,y:x+yprint(add(1+3))

上面是匿名函数的函数用法。除此之外,匿名函数也不是浪得虚名,它真的可以匿名。在和其他功能函数合作的时候

l=[3,2,100,999,213,1111,31121,333]print(max(l))dic={
'k1':10,'k2':100,'k3':30}print(max(dic))print(dic[max(dic,key=lambda k:dic[k])])复制代码
res = map(lambda x:x**2,[1,5,7,4,8])for i in res:    print(i)输出125491664
res = filter(lambda x:x>10,[5,8,11,9,15])for i in res:    print(i)

面试题练一练

现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]

#答案一test = lambda t1,t2 :[{i:j} for i,j in zip(t1,t2)]print(test(t1,t2))#答案二print(list(map(lambda t:{t[0]:t[1]},zip(t1,t2))))#还可以这样写print([{i:j} for i,j in zip(t1,t2)])

 


 

转载于:https://www.cnblogs.com/liuchengdong/p/7279864.html

你可能感兴趣的文章
golang字符串常用系统函数
查看>>
SQL Server中利用正则表达式替换字符串
查看>>
POJ 1015 Jury Compromise(双塔dp)
查看>>
hrbustOJ 1373Leyni, LOLI and Leaders(图论)
查看>>
[QT_QML]qml假如调试信息 qDebug console.debug
查看>>
波浪子序列 (Wavio Sequence,UVa 10534)
查看>>
apache简介与安装
查看>>
从头开始写框架(二):孕育框架的种子_下
查看>>
华为手机在开发Android调试时logcat不显示输出信息的解决办法
查看>>
TCP 建立连接为什么要握 3 次手?
查看>>
android:ToolBar详解
查看>>
window.print 打印指定 div
查看>>
拼多多2018/8/5算法工程师笔试
查看>>
【LINUX】——FreeBSD中的一些常规配置
查看>>
GreenDao3.0新特性解析(配置、注解、加密)
查看>>
JSON数组分配输出每个li
查看>>
request属性 request.getAttribute()
查看>>
Android应用开发基础篇(16)-----ScaleGestureDetector(缩放手势检测)
查看>>
iOS状态栏变文字颜色改变
查看>>
Entity framework code first
查看>>