加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

细说Python的Lambda函数用法,建议收藏

发布时间:2019-09-04 09:18:30 所属栏目:建站 来源:叫我小包总
导读:在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数。今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式。 1.为什么要用lambda函数? 先举一个例子:将一个列表里的每个元素都平方。 先用def

(4)字符串联合,有默认值,也可以用x=(lambda...)这种格式

  1. x=(lambda x='Boo',y='Too',z='Z00':x+y+z) 
  2. print(x('Foo')) 
  3.  
  4. 'FooTooZoo' 

(5)在tkinter中定义内联的callback函数

  1. import sys 
  2. from tkinter import Button,mainloop 
  3.  
  4. x=Button(text='Press me',command=(lambda :sys.stdout.write('Hello,Worldn'))) 
  5. x.pack() 
  6. x.mainloop() 

这段代码还是挺有意思的,希望小伙伴们可以复制粘贴运行一下哈。(6)判断字符串是否以某个字母开头有

  1. Names = ['Anne', 'Amy', 'Bob', 'David', 'Carrie', 'Barbara', 'Zach'] 
  2. B_Name= filter(lambda x: x.startswith('B'),Names) 
  3. print(B_Name) 
  4.  
  5. ['Bob', 'Barbara'] 

(7)求两个列表元素的和

  1. a = [1,2,3,4] 
  2. b = [5,6,7,8] 
  3. print(list(map(lambda x,y:x+y, a,b))) 
  4.  
  5. [6,8,10,12] 

(8)求字符串每个单词的长度

  1. sentence = "Welcome To Beijing!" 
  2. words = sentence.split() 
  3. lengths  = map(lambda x:len(x),words) 
  4. print(list(lengths)) 
  5. [7,2,8] 

总结

对于lambda函数的使用在Python社区一直存在争议,支持一方认为lambad函数的使用,使得Python代码更加紧凑,更加Pythonic;反对方则认为Python的lambda函数限制多多,最严重的当属于它只能由一条表达式组成,用多了以后反而使得程序看起来不那么清晰。

但我个人觉得作为一个Python的初级用户,lambda函数确实让编码更简洁,更省事,一句话好用就行,其余的看神仙打架吧!

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读