首页 / PYTHON / python 匿名函数
python 匿名函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python 匿名函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1677字,纯文字阅读大概需要3分钟。
内容图文
什么是匿名函数:
#匿名就是没有名字
#定义有名函数 def func(x,y,z=1): return x+y+z #定义匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,除非让其有名字 func=lambda x,y,z=1:x+y+z func(1,2,3) #让其有名字就没有意义
调用匿名函数
# 方式一: # res=(lambda x,y:x+y)(1,2) # print(res) # 方式二: # func=lambda x,y:x+y # res=func(1,2) # print(res)
有名函数与匿名函数对比
有名函数:循环使用,保存了名字,通过名字就可以重复引用函数功能 匿名函数:一次性使用,随时随时定义 应用:max,min,sorted,map,reduce,filter
匿名函数的应用
配合max使用
salaries={ 'siry':3000, 'tom':7000, 'lili':10000, 'jack':2000 } #配合max使用 res=max(salaries,key=lambda k:salaries[k]) print(res) #lili #配合min使用 res=min(salaries,key=lambda k:salaries[k]) print(res) #jack #配合sorted使用(默认是升序,) res=sorted(salaries,key=lambda item:salaries[item]) #升序 print(res) #['jack', 'siry', 'tom', 'lili'] res=sorted(salaries,key=lambda k:salaries[k],reverse=True) #降序 print(res) ====================== #配合map使用 l=['alex','lxx','wxx','薛贤妻'] #new_l=(name+'_dsb' for name in l) #用生成器表达式的方法 #print(new_l) res=map(lambda name:name+'_dsb',l) #使用map+匿名函数 # print(res) # 生成器 for i in res: print(i,end=" ") #==》alex_dsb lxx_dsb wxx_dsb 薛贤妻_dsb #配合filter使用 l=['alex_sb','lxx_sb','wxx','薛贤妻'] res=(name for name in l if name.endswith('sb')) # print(res) for i in res: print(i,end=" ") #alex_sb lxx_sb res=filter(lambda name:name.endswith('sb'),l) # print(res) for i in res: print(i,end=" ") #alex_sb lxx_sb #配合reduce使用 from functools import reduce res=reduce(lambda x,y:x+y,[1,2,3],10) # 16 print(res) res=reduce(lambda x,y:x+y,['a','b','c']) # 'a','b' print(res)
内容总结
以上是互联网集市为您收集整理的python 匿名函数全部内容,希望文章能够帮你解决python 匿名函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。