python中匿名函数的作用_什么是Python中的匿名函数

匿名函数

lambda x , y : x+y

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

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

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

f=lambda x,n:x ** n

print(f(2,3))

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

求工资最高的人:maxsalaries={

'egon':3000,

'alex':100000000,

'wupeiqi':10000,

'yuanhao':2000

}

def get(k):

return salaries[k]

print(max(salaries,key=get)) #'alex'

print(max(salaries,key=lambda x: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])

求工资最低的人:minsalaries={

'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 , 对参数序列中元素进行累积import functools

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

def func(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 import reduce

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']

# 一般做法

def func(x):

if type(x) == int:

return True

return False

result = filter(func,v1)

print(list(result)) # [11,22,33,44]

# 简化做法

result = filter(lambda x: True if type(x) == int else False ,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') else False,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']

内容扩展:

匿名函数调用

步骤一:将创建好的匿名函数通过一个变量来去接收。

步骤二:使用变量再去调用匿名函数。

举例

第一步: 创建一个匿名函数,作用是实现两个数的和。

lambda num1 , num2 : num1 + num2

第二步:使用一个变量来去接收这个匿名函数

sum = lambda num1 , num2 : num1 + num2

第三步:调用此匿名函数

sum(10 , 20)

到此这篇关于什么是Python中的匿名函数的文章就介绍到这了,更多相关Python匿名函数知识点总结内容请搜索ZaLou.Cn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IOS学习笔记二十NSSet和NSMutableSet

1、NSSet、NSMutableSet NSSet元素无序、不能重复 NSMutableSet元素无序、不能重复,有一些向集合中增加元素的功能、删除元素....... 2、测试Demo int main(int argc, char * argv[]) {autoreleasepool {NSSet *set [NSSet setWithObjects:"chenyu", "hello…

怎么快速了解自己的MySQL服务器?

From: http://www.cnblogs.com/benshan/archive/2013/01/09/2853097.html 1、查看数据库服务器状态:status Linux 下的MySQL服务器状态 该列表中主要包括MySQL的版本(为version 5.1.61)、运行平台(debian-linux-gnu(i686)&#xf…

八类网线和七类网线的区别_什么是七类网线?七类网线水晶头如何制作?

要了解七类网线如何使用?需要掌握这四个问题:1、什么是七类网线?2、七类网线与六类网线有什么区别?3、七类网线用什么水晶头?如何制作7类网线水晶头?4、7类网线的应用场景?带着这四个问题&#…

html 图片 保持长宽比,实现图片在页面中宽高一直保持16:9比例的方法

实现图片在页面中宽高一直保持16:9比例的方法发布时间:2020-08-31 14:25:10来源:亿速云阅读:133作者:小新小编给大家分享一下实现图片在页面中宽高一直保持16:9比例的方法,希望大家阅读完这篇文…

poj2632 累死了

题意: 给定A*B的格子,放入N个机器人,每个机器人初始位置及朝向给定。给定M条指令。指令类型有三种: 1、L:左转90 2、R:右转90 3、F:前进一格 问执行指令过程中机器人是否发生碰撞&am…

Ubuntu 16.04安装Chrome浏览器

一、先有一个hosts能访问Google 参考:http://www.cnblogs.com/EasonJim/p/5999060.html 二、安装方法有两种,如下所示: 1、下载deb包(推荐) #下载 wget https://dl.google.com/linux/direct/google-chrome-stable_curr…

代码生成器原理

整个架设思路分的4个部分:A:底层物理数据库层,主要是存储数据用的。B:数据库访问层,主要是为了写一套代码可以跑在多种数据库上。C:一些辅助工具、基础组件,是为了加强自动产生代码的功能、简化…

IOS学习笔记二十一(NSDictionary、NSMutableDictionary)

1、NSDictionary、NSMutableDictionary 可以理解为java里面的map,一个key对应一个value,key不可以重复 NSDictionary不可变,NSMutableDictionary可变 NSMutableDictionary比NSDictionary多了一些增加,删除,修改的函数 比如set…

【Blog.Core开源】将Program升级为.NET6.0版本

大家假期好,好久不见,之前忙于其他事情,公众号暂时搁置了一个月了,新的一年开始了,很多小伙伴开始催更了,粉丝的要求必须满足。2022年打算重点推广BCVP社区,所以还是希望有愿意投稿的小伙伴&…

python画两条曲线_查找在matplotlib中绘制的两条曲线之间的区域(在区域之间填充)...

我有两条曲线的x和y值列表,它们都有奇怪的形状,而且我没有任何函数。我需要做两件事:(1)绘制它并对曲线之间的区域进行着色,如下图所示;(2)找到曲线之间该着色区域的总面…

OXY OPENCART 商城自适应主题模板 ABC-0020-05

OXY OPENCART 商城自适应主题模板 ABC-0020-05OXY FEATURESLayoutFoundation Framework – the most advanced responsive front-end framework in the world.100% Fully Responsive – Solid Flexible Responsive Layout that scales from 320px to 1440px.You can disable re…

年月跨度_建筑结构丨国内跨度最大的张弦桁架工程——合肥滨湖国际会展中心二期首榀桁架滑移成功...

来源:中建科工 华中大区。2020年12月8日全国公建领域最大跨度的张弦桁架钢结构工程合肥滨湖国际会展中心二期首榀桁架滑移顺利完成合肥滨湖国际会展中心二期项目位于合肥市滨湖新区锦绣大道与广西路交口,该项目2#综合馆建筑面积约4.8万平方米&#xff0c…

IOS学习笔记之二十二(文件io)

1、NSData和NSMutableData和NSURL NSData和NSMutableData表示oc的数据缓冲区 作用: 1)、对数据读取NSData 2)、输出NSData的数据 NSURL可以读取网络数据 2、MSFileManager管理文件和目录 作用:创建文件、删除文件、复制文件、移动文件 3、NSFileHandle处理文件…

计算机网络的网络层功能在内完成,计算机网络习题及答案

第一章:1、市话网在数据传输期间,在源节点与目的节点之间有一条利用中间节点构成的物理连接线路。这种市话网采用技术。(B )A、报文交换B、电路交换C、分组交换D、数据交换2、一座大楼内的一个计算机网络系统,属于( B )A、PANB、LANC、MAND、…

冯巩经典语录

1、姑娘们啊!哪有那麽多白马啊?找个驴凑合得了,别等到有一天驴都被抢没了,剩一堆骡子... 2、所谓美女,三分长相七分打扮、所谓气质,三分才气七分装蒜、所谓温柔,三分忍让七分压抑。 3、下辇子要…

IOS清理缓存的几种方法

IOS清理缓存的几种方法, - (long long) fileSizeAtPath:(NSString*) filePath{NSFileManager* manager [NSFileManager defaultManager];if ([manager fileExistsAtPath:filePath]){return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];}retur…

【C#/.NET】不用AutoMapper,我用啥呢?

微信公众号:趣编程ACE关注可了解更多的.NET日常实战开发技巧。如需源码请后台留言源码;**[如果觉得对您有帮助,欢迎关注]TinyMapper简介本文来自社区群粉丝投稿TinyMapper是一个.NET平台下的一个轻量级对象映射工具,号称是.Net平台下最快的对…

大数据算法与分析技术国家工程实验室将建设

国家发展改革委近日正式下发通知,同意由西安交通大学作为承担单位,国家电网公司全球能源互联网研究院作为联合共建单位,筹建“大数据算法与分析技术国家工程实验室”。 国网信通部落实公司党组关于推进大数据的要求,组织联研院等单…

HBase键值分片的简单运用

1.基本原理介绍 HBase的存储是通过行键建立索引进行存储的,而且HBase只支持一级索引,因此只要通过行键才能很快的找到需要的数据。HBase是一个分布式的系统,HBase通过行键的分片,把不同的数据存储在不同的主机上。1).顺序分片依据…

我要3万取款机怎么取_7万的新宝骏RS-3怎么样?用车三个月后,车主说出了实话...

小型SUV领域,作为目前SUV市场之中竞争最激烈的细分领域之一,已经成为众多车企的必争之地。而正因如此,小型SUV市场所具有的车型非常的丰富,且其中更是一点也不缺爆款车型,正如在去年底刚上市的一款小型SUV——新宝骏RS…