5.14 匿名函数

lambda x , y : x+y

1 匿名的目的就是要没有名字,给匿名函数赋给一个名字是没有意义的

2 匿名函数的参数规则、作用域关系与有名函数是一样的

3 匿名函数的函数体通常应该是 一个表达式,该表达式必须要有一个返回值

f=lambda x,n:x **nprint(f(2,3))

lambda匿名函数的应用:**max,min,sorted,map,reduce,filter**

求工资最高的人:max

salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}defget(k):returnsalaries[k]print(max(salaries,key=get)) #'alex'

print(max(salaries,key=lambdax:salaries[x]))

info=[

{'name': 'egon', 'age': '18', 'salary': '3000'},

{'name': 'wxx', 'age': '28', 'salary': '1000'},

{'name': 'lxx', 'age': '38', 'salary': '2000'}

]

max(info, key=lambda dic: int(dic['salary']))

max([11, 22, 33, 44, 55])

求工资最低的人:min

salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}print(min(salaries,key=lambda x:salaries[x])) #'yuanhao'

info=[

{'name':'egon','age':'18','salary':'3000'},

{'name':'wxx','age':'28','salary':'1000'},

{'name':'lxx','age':'38','salary':'2000'}

]

min(info,key=lambda dic:int(dic['salary']))

把薪资字典,按照薪资的高低排序sort

salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}

alaries=sorted(salaries) #默认按照字典的键排序

print(salaries)

​#salaries=sorted(salaries,key=lambda x:salaries[x]) #默认是升序排

alaries=sorted(salaries,key=lambda x:salaries[x],reverse=True) #降序

print(salaries)

info=[

{'name':'egon','age':'18','salary':'3000'},

{'name':'wxx','age':'28','salary':'1000'},

{'name':'lxx','age':'38','salary':'2000'}

]

l=sorted(info,key=lambda dic:int(dic['salary']))

map映射, 循环让每个元素执行函数,将每个函数执行的结果保存到新的列表中

v1 = [11,22,33,44]

result= map(lambda x:x+100,v1) #第一个参数为执行的函数,第二个参数为可迭代元素.

print(list(result)) #[111,122,133,144]

names=['alex','wupeiqi','yuanhao','egon']

res=map(lambda x:x+'_NB' if x == 'egon' else x + '_SB',names)print(list(res))

reduce, 对参数序列中元素进行累积.

importfunctools

v1= ['wo','hao','e']

​deffunc(x,y):return x+y

result=functools.reduce(func,v1)print(result) #wohaoe

result= functools.reduce(lambda x,y:x+y,v1)print(result) #wohaoe

​from functools importreduce

l=['my','name','is','alex','alex','is','sb']

res=reduce(lambda x,y:x+' '+y+' ',l)print(res)#my name is alex alex is sb

filter, 按条件筛选.

result=filter(lambda x:x > 2,[1,2,3,4])print(list(result))

v1= [11,22,33,'asd',44,'xf']

​#一般做法

deffunc(x):if type(x) ==int:returnTruereturnFalse

result=filter(func,v1)print(list(result)) #[11,22,33,44]

​#简化做法

result = filter(lambda x: True if type(x) == int elseFalse ,v1)print(list(result))

​#极简做法

result = filter(lambda x: type(x) ==int ,v1)print(list(result))

names=['alex_sb','wxx_sb','yxx_sb','egon']

res=filter(lambda x:True if x.endswith('sb') elseFalse,names)

res=filter(lambda x:x.endswith('sb'),names)print(list(res)) #['alex_sb', 'wxx_sb', 'yxx_sb']

ages=[18,19,10,23,99,30]

res=filter(lambda n:n >= 30,ages)print(list(res)) #[99, 30]

salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}

res=filter(lambda k:salaries[k] >= 10000,salaries)print(list(res)) #['alex', 'wupeiqi']

python匿名函数就是没有名字的函数_python 之 匿名函数相关推荐

  1. python函数和模块的使用方法_Python学习06_函数和模块的使用

    引入 在写有些代码的时候,会发现有些步骤重复了多次,他也不像循环,都是相同的东西在重复,而是指做某件事情的步骤方法,做事的人或对象发生了改变,但是方法却没有改变. 要想写出高质量的代码,首先要解决的就 ...

  2. python中input()函数的返回是什么类型_Python中input函数的用法是什么?

    "input()"函数是输入函数,用于接受一个标准输入数据,且返回string类型.在Python3中,去除了"raw_input()"函数,仅保留了" ...

  3. python中def fun(a、b=200)_python中的函数的参数和可变参数

    最近在搞python的过程中需要用到给函数传可变参数..所以去网上找前人的帖子学习了一下 刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **kwargs)这样的函 ...

  4. python内置函数返回序列中最大元素_Python 内置函数 ____________ 用来返回序列中的最大元素。_学小易找答案...

    [单选题]5. an official group of people who have joined together for a particular purpose [单选题]Excel 201 ...

  5. python中函数type可以测试对象类型_Python中type函数type()显示对象的类型,dir函数dir()显示的是对象可用的方法。_学小易找答案...

    [判断题]new_word = word.upper() 这一语句表示将word这个变量的值全部小写并赋给新变量new_word. [单选题]All of the students have fini ...

  6. python中sum函数的使用方法及实例_python 运行sum函数的使用

    sum(iterable[, start]) ,iterable为可迭代对象,如: sum([ ], start) , #iterable为list列表. sum(( ), start ) , #it ...

  7. python中用于创建文件对象的是_Python内置函数________用来打开或创建文件并返回文件对象。...

    内置目前获得目标分子信息的方法不包括 药物对靶标生理活性调节而引起的毒性,函数或创称为 打开对象关于hERG通道描述不正确的选项是 建文件并反映药物分子整体亲脂性强弱的参数 是 有关structure ...

  8. python中函数定义可以不包括什么_Python 中,函数定义可以不包括以下_______。

    [单选题]马斯洛需求层次理论中提出的满足对产品有与众不同要求的市场,消费者关注产品的象征意义,指的是消费者的()需求. [判断题]色调一般是由一个色彩组合,为了获得统一的整体色彩效果,选择一种处于支配 ...

  9. python类实例化 输入参数名字 下划线_Python 的类的下划线命名有什么不同?

    1,以一个下划线开头的命名 ,如_getFile 2,以两个下划线开头的命名 ,如__filename 3,以两个下划线开头和结尾的命名,如 __init__() 4,其它 这些命名有什么不同吗 首先 ...

  10. python类实例化 输入参数名字 下划线_Python 用下划线作为变量前缀和后缀指定特殊变量...

    原:http://blog.163.com/jackylau_v/blog/static/175754040201182113817834/ 转过来方便查阅=w= Python 用下划线作为变量前缀和 ...

最新文章

  1. 网页录音解决方案 FlashWavRecorder For Website API 关键地方已注释
  2. git查看改变的方法
  3. 细胞冻存及细胞计数的技巧
  4. 哈佛大学计算机与科学,Harvard的CS「哈佛大学计算机科学专业」
  5. colab中的在Github中保存一份副本无法保存到自己github
  6. C++实现线段树RMQ-单点修改,区间查询
  7. Sublime删除所有包含特定值的行
  8. java (lodop) 打印实例
  9. ECMAScript基础(三)-关键字
  10. 【LeetCode】【数组】题号:*697,相同度的最短连续子数组
  11. 纽微特荒唐事:都知道是找人顶罪,竟没人敢指正
  12. 车辆维修管理系统mysql_数据库课设计 汽车修理管理系统.doc
  13. 智慧书-永恒的处世经典格言:121-160
  14. 常用计算机office操作知识,计算机基础知识及OFFICE常用操作_
  15. 人类为什么不会被人工智能取代?
  16. 淘宝用户行为分析——用户画像
  17. IOS TalkingData实现数据监控
  18. 万达商管冲刺香港上市:上半年净赚20亿元,已提前“套现”约63亿
  19. 2017年总结:人生百味,有你真好
  20. QQ三国七旗阵等级怎么计算?(附Excel计算器,输入队员等级即可计算)

热门文章

  1. 如何判断一个数为无符号数还是有符号数
  2. 机器学习-西瓜书第一、二章
  3. 企业数据可视化大屏的三大优势
  4. 在Java中使用标准输入输出设备进行字符串,整数浮点数等 的输入输出操作
  5. Hive(一)——基础操作
  6. Baby‘s first attempt on CPU(贪心+模拟)
  7. linux oracle bin目录在哪,linux 安装软件装完后在哪个目录
  8. WindowManager添加一个悬浮的Window
  9. android项目模块导入eclipse编译报错,android环信demo导入eclipse编译出错
  10. 用GA算法设计22个地点之间最短旅程-R语言实现