首页 > 编程语言 >一些python的知识点3(lambda函数的使用)

一些python的知识点3(lambda函数的使用)

时间:2024-12-08 22:27:39浏览次数:5  
标签:知识点 函数 迭代 map python list1 print lambda

匿名函数lambda(只适用于创建简单的函数且只使用一次)

格式:变量=lambda   参数1,参数2... : 单行表达式或函数调用

注意点:

  1. 不能使用return函数、循环语句、if语句(除了if实现的三目运算)
  2. lambda函数可以自行计算表达式的结果
  3. 需要用变量来引用lambda函数
a=lambda :print("yes")        #将lambda函数引用给a,让a也有lambda函数的功能
print(a()) 
#结果
yes                           #是运行lambda函数的语句print("yes")的结果
None                          #是运行lambda函数外的print(a()),得到函数自身的返回值None

a=lambda x,y:x if x>y else y  #三目运算格式
a(1,2)                        #没有输出命令,所以没有输出的值
print(a(1,2))                 #输出运算后的结果2,不输出return
#结果
2

map函数(将可迭代对象的每个元素均调用想要调用的函数,返回包含每次调用函数的返回值的新列表)

格式:变量=map(被调用的函数,可迭代对象)

注意:

  1. 想要调用的函数只能有一个参数
  2. 不能直接输出
list1=[1,2,3,4,5]                #创建一个可迭代的对象

def f(x):                        #定义一个f函数
    return x**2
list2=map(f,list1)               #map函数将list1中每个元素放入f函数中计算
list2=list(list2)                #注意map函数映射的值不能直接用print函数输出,
print(list2)                     #需要转换为列表或元组才能输出

#使用lambda函数
list3=map(lambda x:x**2,list1)   #因为x**2是一次性的函数使用,所以可以用lambda函数
list3=list(list3)
print(list3)

reduce函数(对可迭代对象逐一使用调用函数累计)

格式:import functools

           变量=functools.reduce(被调用的函数,可迭代对象)

注意:

  1. 使用reduce函数前一定要调用functools库
  2. 只能有两个参数
import functools
list1=[i for i in range(6)]                    #创建可迭代对象
a =functools .reduce(lambda x1,x2:x1+x2,list1) #将list1中每个元素均使用一次被调用的函数并累计
print(a)

filter函数

格式:变量=filter(被调用的函数,可迭代对象)

注意:

  1. 只有一个参数
  2. 不能直接输出
list1=["123","12a","aas"]                #创建一个可迭代对象
list1=filter(lambda x:x.isdigit(),list1) #利用isdigit函数找出只有数字的对象,
                                         #利用filter函数将其筛选
list1=list(list1)                        #不能直接输出筛选之后的结果,
print(list1)                             #必须转换成列表或元组才能输出

sort函数

格式:列表 . sort(key"代表你想按什么排序",reverse=True"升序"or reverse=Flase"降序")

注意:

  1. 只能用于列表
  2. 只有一个参数
#创建一个列表存储字典
list1=[{"name":"tom","age":22},{"name":"jack","age":80},{"name":"rose","age":30}]
#利用lambda函数将需要比较的值传给key,让sort函数按key的值排升序
list1.sort(key=lambda a:a["name"])
print(list1)

标签:知识点,函数,迭代,map,python,list1,print,lambda
From: https://blog.csdn.net/2401_88065518/article/details/144173231

相关文章

  • python - pandas排序
    如果进行简单升降序使用以下功能一般就够用importpandasaspd#数据df=pd.DataFrame({'A':['a','c','b','d','a'],'B':[5,4,3,2,1]})#按照B列值进行排序#ascending为True代表升序,False为降序#na_position为First代表空值放在最后,First......
  • Python、R循环神经网络RNN、指数平滑ETS、ARIMA模型预测网络流量、ATM机取款、旅游需
    全文链接:https://tecdat.cn/?p=38496原文出处:拓端数据部落公众号分析师:PengyuanWen 在当今经济研究与商业决策领域,精准的时间序列预测具有极为关键的意义。社会消费品零售总额作为反映人民消费水平以及国民经济状况的核心指标,其发展趋势的精准把握对中国经济高质量发展转型意......
  • 使用python爬取小说实战
    使用python爬取小说实战1.使用requests库requests:用于发送HTTP请求importrequests2.爬取路径这里定义了要抓取的网页地址url="https://www.remxiaos.com/doupocangqiong/14698.html"3.发送请求发送GET请求到指定的URLresp=requests.get(url)4.获取内......
  • Python语法基础---正则表达式
    ......
  • Task06&&07 循环与字符串:Python 基础学习
    一、循环For循环For循环基于提供的范围,能让我们重复执行特定次数的操作。例如,foriinrange(m,n+1)就能从m循环到n。特别要注意,range(m,n+1)是左闭右开区间。奇偶数列生成超简单,像foriinrange(0,10,2)就能输出0到10之间的偶数,即0、2、4、6、8。要是想反......
  • Python基于django小型中医诊所管理系统
    我国中医诊所遍布大街小巷,大大方便了患者的急诊速度,能够及时得到诊断治疗但是当传染病爆发,人员过多,会出现信息化水平低、管理效率不高等问题。为了提高中医诊所的管理效率,实现信息化管理,开发基于Django的中医诊所管理系统是必要的。本系统基于django框架,采用python作为开发......
  • Python+vue校园事件新闻通知后台管理系统
    文章目录项目介绍具体实现截图开发技术设计思路开发与测试:核心代码部分展示文章目录/协作提纲源码/演示视频获取方式项目介绍本选题宗旨在通过标签分类管理等方式,实现管理员:首页、个人中心、院校管理、用户管理、单位类别管理、院校管理员管理、单位管理、通知推送......
  • 基于Python的旅游景区商城购物网站的设计与实现mt74k(Pycharm Flask Django mysql)
    文章目录项目介绍具体实现截图开发技术设计思路开发与测试:核心代码部分展示文章目录/协作提纲源码/演示视频获取方式项目介绍旅游网站主要功能如下:1.用户管理:注册、登录、退出、修改密码;2.分类显示:显示旅游路线的分类;3.旅游路线显示:按分类查询旅游路线、通过关键......
  • 基于python的高校学科竞赛平台46869(Pycharm Flask Django mysql)
    文章目录项目介绍具体实现截图开发技术设计思路开发与测试:核心代码部分展示文章目录/协作提纲源码/演示视频获取方式项目介绍学生前台:1.首页:展示竞赛平台的基本信息和推荐竞赛活动。2.竞赛信息:提供竞赛的详细信息,包括竞赛名称、时间、地点、报名要求等。3.竞......
  • Python校园在线问答课程答疑系统
    文章目录项目介绍具体实现截图开发技术设计思路开发与测试:核心代码部分展示文章目录/协作提纲源码/演示视频获取方式项目介绍本课程答疑系统有管理员,老师,学生三个角色。管理员功能有,个人中心,学生管理,老师过来,科目类型管理,学生问题管理,老师回答管理,老师信息管理,关注......