python匿名函数就是没有名字的函数_python 之 匿名函数
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 之 匿名函数相关推荐
- python函数和模块的使用方法_Python学习06_函数和模块的使用
引入 在写有些代码的时候,会发现有些步骤重复了多次,他也不像循环,都是相同的东西在重复,而是指做某件事情的步骤方法,做事的人或对象发生了改变,但是方法却没有改变. 要想写出高质量的代码,首先要解决的就 ...
- python中input()函数的返回是什么类型_Python中input函数的用法是什么?
"input()"函数是输入函数,用于接受一个标准输入数据,且返回string类型.在Python3中,去除了"raw_input()"函数,仅保留了" ...
- python中def fun(a、b=200)_python中的函数的参数和可变参数
最近在搞python的过程中需要用到给函数传可变参数..所以去网上找前人的帖子学习了一下 刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **kwargs)这样的函 ...
- python内置函数返回序列中最大元素_Python 内置函数 ____________ 用来返回序列中的最大元素。_学小易找答案...
[单选题]5. an official group of people who have joined together for a particular purpose [单选题]Excel 201 ...
- python中函数type可以测试对象类型_Python中type函数type()显示对象的类型,dir函数dir()显示的是对象可用的方法。_学小易找答案...
[判断题]new_word = word.upper() 这一语句表示将word这个变量的值全部小写并赋给新变量new_word. [单选题]All of the students have fini ...
- python中sum函数的使用方法及实例_python 运行sum函数的使用
sum(iterable[, start]) ,iterable为可迭代对象,如: sum([ ], start) , #iterable为list列表. sum(( ), start ) , #it ...
- python中用于创建文件对象的是_Python内置函数________用来打开或创建文件并返回文件对象。...
内置目前获得目标分子信息的方法不包括 药物对靶标生理活性调节而引起的毒性,函数或创称为 打开对象关于hERG通道描述不正确的选项是 建文件并反映药物分子整体亲脂性强弱的参数 是 有关structure ...
- python中函数定义可以不包括什么_Python 中,函数定义可以不包括以下_______。
[单选题]马斯洛需求层次理论中提出的满足对产品有与众不同要求的市场,消费者关注产品的象征意义,指的是消费者的()需求. [判断题]色调一般是由一个色彩组合,为了获得统一的整体色彩效果,选择一种处于支配 ...
- python类实例化 输入参数名字 下划线_Python 的类的下划线命名有什么不同?
1,以一个下划线开头的命名 ,如_getFile 2,以两个下划线开头的命名 ,如__filename 3,以两个下划线开头和结尾的命名,如 __init__() 4,其它 这些命名有什么不同吗 首先 ...
- python类实例化 输入参数名字 下划线_Python 用下划线作为变量前缀和后缀指定特殊变量...
原:http://blog.163.com/jackylau_v/blog/static/175754040201182113817834/ 转过来方便查阅=w= Python 用下划线作为变量前缀和 ...
最新文章
- 网页录音解决方案 FlashWavRecorder For Website API 关键地方已注释
- git查看改变的方法
- 细胞冻存及细胞计数的技巧
- 哈佛大学计算机与科学,Harvard的CS「哈佛大学计算机科学专业」
- colab中的在Github中保存一份副本无法保存到自己github
- C++实现线段树RMQ-单点修改,区间查询
- Sublime删除所有包含特定值的行
- java (lodop) 打印实例
- ECMAScript基础(三)-关键字
- 【LeetCode】【数组】题号:*697,相同度的最短连续子数组
- 纽微特荒唐事:都知道是找人顶罪,竟没人敢指正
- 车辆维修管理系统mysql_数据库课设计 汽车修理管理系统.doc
- 智慧书-永恒的处世经典格言:121-160
- 常用计算机office操作知识,计算机基础知识及OFFICE常用操作_
- 人类为什么不会被人工智能取代?
- 淘宝用户行为分析——用户画像
- IOS TalkingData实现数据监控
- 万达商管冲刺香港上市:上半年净赚20亿元,已提前“套现”约63亿
- 2017年总结:人生百味,有你真好
- QQ三国七旗阵等级怎么计算?(附Excel计算器,输入队员等级即可计算)
热门文章
- 如何判断一个数为无符号数还是有符号数
- 机器学习-西瓜书第一、二章
- 企业数据可视化大屏的三大优势
- 在Java中使用标准输入输出设备进行字符串,整数浮点数等 的输入输出操作
- Hive(一)——基础操作
- Baby‘s first attempt on CPU(贪心+模拟)
- linux oracle bin目录在哪,linux 安装软件装完后在哪个目录
- WindowManager添加一个悬浮的Window
- android项目模块导入eclipse编译报错,android环信demo导入eclipse编译出错
- 用GA算法设计22个地点之间最短旅程-R语言实现