python lambda表达式_Python进阶

python lambda表达式_Python进阶Lambda表达式lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数语法函数名=lambda参数:返回值注意点1.函数的参数可以有多个,多个参数之间用逗号隔

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Lambda表达式

lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数
 

语法

函数名 = lambda 参数:返回值
 

注意点

  • 1.函数的参数可以有多个,多个参数之间用逗号隔开

  • 2.匿名函数不管多复杂.只能写一行.且逻辑结束后直接返回数据

  • 3.返回值和正常的函数一样,可以是任意数据类型,返回值的时候只能返回一个不能返回多个

def func(n):
    return n**n
print(func(4))
f = lambda x: x**x
print(f(4))
结果:
>>> 256
>>> 256

 

三大基础函数

 

filter(function, iterable)

对可迭代对象进行过滤,参数function是一个函数,参数iterable是可迭代对象。filter()函数调用时iterable会遍历,它的元素被逐一传入funciton函数,function函数返回布尔值。在funciton函数中编写过滤条件,如果为true则保留,为false则被过滤掉

number_list = range(1, 11)
number_filter = filter(lambda it: it % 2 == 0, number_list)
print(list(number_filter))
>>> [2, 4, 6, 8, 10]

 

map(function, iterable)

对可迭代对象的元素进行变换,参数使用同上

# 将所有元素替换成小写
users = ['jack', 'Tom', 'Tony', 'Alice']
users_map = map(lambda u: u.lower(), users)  
print(list(users_map))
>>> ['jack', 'tom', 'tony', 'alice']

# 将所有首字母为T的元素替换成小写
# 先过滤再替换
users = ['jack', 'Tom', 'Tony', 'Alice']
users_map = map(lambda u: u.lower(), filter(lambda u: u.startswith('T'), users))
print(list(users_map))
>>> ['tom', 'tony']

 

reduce(function, iterable[, initializer])

参数funciton是聚合操作函数,iterable是可迭代对象,initializer是初始值,可以省略
​reduce()函数是将多个数据按照指定的算法积累叠加起来

"""
reduce的作用是先把列表中的前俩个元素取出计算出一个值然后临时保存着,
接下来用这个临时保存的值和列表中第三个元素进行计算,求出一个新的值将最开始
临时保存的值覆盖掉,然后在用这个新的临时值和列表中第四个元素计算.依次类推
"""
from functools import reduce
a = [1, 2, 3, 4]
a_reduce = reduce(lambda x, y: x*10 + y, a)
print(a_reduce)
>>> 1234
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165846.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 深信服(SCSA)认证学习—基础知识点二

    深信服(SCSA)认证学习—基础知识点二综述经过一周的实践教学学习,总体来讲深信服的scsa认证还是不难(理论基本上上都是基础知识),对于实验来讲呢,技术做的越多,熟练度也就越好,也就能更快的做出题目来。这次我主要还是讲讲深信服的理论知识。五元组:源IP地址,源端口,目的IP地址,目的端口和传输层协议mail.qq.comfqdnfulldomainname//顶级域名qq.comdomainname邮件传输协议:SMTP(25端口)、POP3(110端口)、IMAP4http:通一资源标志符(UniformRe

  • PHP json_encode float

    PHP json_encode floatPHPjson_encodefloat乐杨俊

  • wifi数据包解析_详细解析WiFi模块的基础知识「建议收藏」

    wifi数据包解析_详细解析WiFi模块的基础知识「建议收藏」1、WiFi模块的SDK是什么?SDK是WiFi模块的软件开发工具包(全称:SoftwareDevelopmentKit)的英文简称,一般都是一些软件工程师为特定的软件包、软件框架,硬件平台,操作系统等建立应用软件时的开发工具的集合。2、WiFi模块的驱动是什么?驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂…

  • IMU校正以及姿态融合[通俗易懂]

    版权声明:本文为博主原创文章,未经博主允许不得转载。博主:shenshikexmu联系方式:shenshikexmu@163.com缘起有缘在简极科技兼职两年。接触了IMU,我去的时候那家公司还是一个要把IMU放进足球的公司,祝愿简极越来越好。IMU校正算法大概是接触传感器三个月做出来的,博客IMU加速度、磁力计校正--椭球拟合的内容,那时只是把校准问题当作椭球拟合问题。融合算法大…

  • 【oracle】varchar和varchar2区别「建议收藏」

    【oracle】varchar和varchar2区别「建议收藏」1.varchar是标准sql里面的。varchar2是oracle提供的独有的数据类型。2.varchar对于汉字占两个字节,对于英文是一个字节,占的内存小,varchar2都是占两个字节。3.varchar对空串不处理,varchar2将空串当做null来处理。4.varchar存放固定长度的字符串,最大长度是2000,varchar2是存放可变长度的字符串,最大长度是4000….

  • 基于Java swing+mysql+eclipse的【图书管理系统】

    基于Java swing+mysql+eclipse的【图书管理系统】一、效果演示:主要功能:①基本数据维护:图书类别管理>>图书类别添加、图书类别维护图书管理>>图书添加、图书维护②关于我们1、登录界面2、主界面:3、图书类别维护4、图书类别添加5、图书维护6、图书添加7、关于我们可全部缩小到左下角二、核心代码:1、Util包【存放数据库连接工具】①DBTool(数据库连接工具类)packagecn.ac.azure.util;importjava.io.IOException

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号