Python lambda函数的学习

Python lambda函数的学习lambda函数在python基础中没看过,查找资料目前知道如下的用法1.用于简单表达式的计算lambda参数:表达式如:result=lambdax:x**2print(resu

大家好,又见面了,我是你们的朋友全栈君。

 lambda函数在python 基础中没看过,查找资料目前知道如下的用法

1. 用于简单表达式的计算
lambda 参数:表达式

如:
result = lambda x: x**2
print(result(3))

---- 参数也可以有多个

result = lambda x,y:x+y
print(result(3,4))


2. filter函数和 lambda函数,此时lambda函数用于指定过滤列表元素的条件
y = [1,3,4,5,6,7,10,8]
res = filter(lambda x:x%2 ==0, y)
print(list(res))
----是偶数打印出来-----

3. sorted 函数和lambda函数,用于指定对列表中所有元素进行排序

y = [1,3,4,5,6,7,10,8]
    res = sorted(y, key=lambda x: abs(5-x))
print(res)
-------倒序排增加关键字--------------
    res = sorted(y, key=lambda x: abs(5 - x),reverse=True)


4. map 函数和lambda函数,用于指定对列表中每一个元素的共同操作
y = [1,3,4,5,6,7,10,8,6]
res = map(lambda x:x-1,y)
print(list(res))

5. reduce函数和lambda函数,---对相邻两个数按一定要求结合

如:将相邻两个数以,复制给变量,该变量为字符串

from functools import reduce
res =
reduce(lambda a, b: '{},{}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9])
print(res)

----结果------
1,2,3,4,5,6,7,8,9

如:将相邻数累加

from functools import reduce

y = [1, 3, 4, 5, 6, 7, 10, 8]
print(reduce(lambda x,z:x+z,y))

'''过程'''
1+3+4+5+6+7+10+8

# 相邻的数相乘 + 1得出一个新值再和后面相邻的数相乘 + 1
from functools import reduce
y = [1, 3, 4, 5, 6]
print(reduce(lambda x,z:x*z+1,y))

'''
运行步骤
1 * 3 + 1=4
4* 4 + 1 = 17
17 * 5 + 1 = 86
86 * 6 + 1 = 517












版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155908.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月5日 下午1:00
下一篇 2022年7月5日 下午1:00


相关推荐

  • 简单的反编译class文件并重新编译的方法

    简单的反编译class文件并重新编译的方法在没有 java 源码的情况下 如果想修改一个 class 文件 可以通过以下步骤实现 修改前的 class 文件 1 反编译 class 文件成 java 文件 可以使用 JavaDecompil 这个工具 直接打开对应的 class 文件 然后点击菜单 File SaveSource 将文件保存成 java 文件 如下 PS JavaDecompil 工具还可以用来反编译

    2025年8月14日
    7
  • java scanner 结束输入_Java Scanner语法

    java scanner 结束输入_Java Scanner语法1 导入 importjava util Scanner 2 创建对象 Scannerscan newScanner System in 一般变量名为 scan 或者 in 最后关闭 scan close 和 I O 流有关 暂不清楚 照抄先 3 next 读取字符串 要读取到有效字符后才结束输入 不能读取空格 即遇到空格就停 Scannerscan newScanner Syste

    2026年3月16日
    3
  • python提取时间段日期_timestamp时间戳

    python提取时间段日期_timestamp时间戳在python开发web程序时,需要调用第三方的相关接口,在调用时,需要对请求进行签名。需要用到unix时间戳。在python里,在网上介绍的很多方法,得到的时间戳是10位。而java里默认是13位(milliseconds,毫秒级的)。下面介绍python获得时间戳的方法:1、10时间戳获取方法:>>>importtime>>>t=time.tim…

    2022年10月2日
    5
  • fvwm 中文手册_kindle vol

    fvwm 中文手册_kindle volFvwmisawindowmanagerforX11.Itisdesignedtominimizememoryconsumption,providea3Dlooktowindowframes,andavirtualdesktop.—TheFVWM(F?VirtualWindowManager)manual在看这个文档之前你

    2022年10月3日
    5
  • hi3516dv300 sdk_Hi3516DV300

    hi3516dv300 sdk_Hi3516DV300Hi3516DV300编译环境搭建问题及解决1.安装完工具链,提示找不到gcc问题:bash:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-gcc:没有那个文件或目录。安装完工具链,提示找不到gcc,但实际gcc工具已经安装上是由于开发环境是32位的,而当前的ubuntu是64位的解…

    2026年2月25日
    7
  • 2020,最新手机号码手机验证正则表达式,持续更新「建议收藏」

    2020,最新手机号码手机验证正则表达式,持续更新「建议收藏」最近在跟一个别人写好上线的项目,今天出了一个bug,部分正常的手机号验证格式不通,查看了代码发现正则表达式有较大的错误,如图:存在的问题:1.存在逗号2.不够全面,部分正常的手机号验证不通过所以决定自己写,百度一下手机号的格式,下面应该是比较全面,所以就自己根据下面的写验证的正则表达式,如有小伙伴发现下图仍有遗漏请在评论指出,我看到会马上更新最后写出来的正则表达式:Patternp=Pattern.compile(“^1(3([1-35-9]\\d|4[1-..

    2022年6月13日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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