python中lambda、yield、map、filter、reduce的使用

基于深度学习的道路裂缝检测系统完整教程 本文介绍了一种基于深度学习的道路裂缝检测系统完整解决方案。项目采用5466张高质量道路裂缝图像数据集,包含YOLO和Pascal VOC两种标注格式,覆盖多种道路场景。系统利用CNN和YOLO算法实现高效检测,相比传统人工巡检显著提升效率和准确性。文中详细阐述了数据集结构、环境配置和训练流程,包括数据预处理、智能分割策略和质量检查方法。该技术可及时发现道路裂缝隐患,降低维护成本,保障交通安全,为道路养护提供智能化解决方案。 阅读详情

1、 匿名函数lambda

python中允许使用lambda关键字定义一个匿名函数。所谓的匿名函数就是说使用一次或者几次之后就不再需要的函数,属于“一次性”函数。

#例1:求两数之和
f = lambda x, y: x + y
print(f(5, 1))
 
#例2:求平方和
print((lambda x, y: x**2 + y**2) (3, 4)) #执行结果6 25

2、关键字 yield

yield可以将函数执行的中间结果返回但是不结束程序。

yield关键字可以把一个函数变成一个生成器(generator)。

实现一个range函数

>>> def fun(x):
...     i = 0
...     while i<x:
...             yield i
...             i+=1
...
>>> for i in fun(7):
...     print(i)
...
0
1
2
3
4
5
6

实现斐波那契数列

>>> def fab(x):
...     a, b, n = 0, 1, 0
...     while n<x:
...             a, b = b, a+b
...             yield b
...             n += 1
...
>>> for i in fab(10):
...     print(i)
...
1
2
3
5
8
13
21
34
55
89

3、遍历函数(map)

map函数用于遍历序列。

>>> def func(a, b):
...     return a+b
...
>>> li = [1,2,3,4]
>>> def func(a):
...     return a+100
...
>>> print(list(map(func, li)))
[101, 102, 103, 104]  

>>> li = [1,2,3,4]
>>> print(list(map(lambda x: x**2, li)))
[1, 4, 9, 16]

>>> li = [1,2,3,4]
>>> lo = [5,6,7,8]
>>> print(list(map(lambda x, y: x**2 + y**2, li, lo)))
[26, 40, 58, 80]
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
>>> li = [1,2,3,4,5,6,7,8,9]
>>> print(list(map(lambda x: x > 5, li)))
[False, False, False, False, False, True, True, True, True]

4、筛选函数(filter)

筛选函数用于对序列中的元素进行筛选,最终获取符合条件的序列。

>>> li = [1,2,3,4,5,6,7,8,9]
>>> print(list(filter(lambda x: x>5, li)))
[6, 7, 8, 9]

5、累计函数(reduce)

对序列中的所有函数进行类操作。

>>> from functools import reduce
>>> li = [1,2,3,4,5]
>>> reduce(lambda a, b: a+b, li)
15<br>#第三个参数为初始值,在此值之上进行累计
>>> reduce(lambda a, b: a+b, li, 100)
115
>>> 
模型实战(31)之 yolo26 实现对手部关键点数据集 的训练与关键点检测 阅读详情

相关推荐

单相PWM整流器的数学模型、工作原理

单相PWM整流器的数学模型、工作原理

weixin_58670090的博客 1万+

关于python当中lambda、yield、map、reduce、filter、sorted的总结

1、yield的使用,参考:https://stackoverflow.com/questions/231767/the-python-yield-keyword-explained/231855#231855    来自于stackoverflow的,解答者经验非常的丰富,把yield的功能由简单到复杂都介绍了一遍。总结几个要点。    1、generator:只被遍历一次之后便从内存当中删

a123456ei的专栏 3333

Cadence17.2 > Allegro > 检查PCB Layout信号线组等长

Cadence17.2 > Allegro > 检查PCB Layout等长和配线

DL_62532的专栏 1万+

python中yield的用法

首先,如果你还没有对yield有个初步分认识,那么你先把yield看做“return”,这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了。看做return之后再把它看做一个是生成器(generator)的一部分(带yield的函数才是真正的迭代器),好了,如果你对这些不明白的话,那先把yield看做return,然后直接看下面的程序,你就会明白yield的全部意思了: def foo(): print("starting..."

KongQueenie的博客 369

微机原理与接口技术第六版周荷琴课后习题答案及解析(期末重点)

第二章 1.8086/8088CPU可直接寻址多少个内存(字节)单元?多少个I/O端口?它们的外部数据总线各有多少根? 8086/8088CPU使用的是20位地址总线,因此可以直接寻址2的20次方个内存单元(即1,048,576),每个单元大小为1字节,因此可以直接寻址2的20次方个字节的内存。 8086/8088CPU有64K个I/O端口,每个端口占用1字节的地址空间,因此可以直接寻址6...

Wmicheng的博客 1万+

炉石传说游戏系统拆解和部分系统分析

一.游戏综述 《炉石传说:魔兽英雄传》是一款由暴雪娱乐公司出品的策略类卡牌游戏。中国大陆地区的独家运营由网易公司代理。2014年3月13日全球同步正式运营。游戏背景设定于暴雪的魔兽系列,共十位魔兽中的角色作为十种不同的职业。而玩家要做的,就是根据己方现有的卡牌组建合适的卡组,指挥英雄,驱动随从,施展法术,与游戏好友或素不相识的对手一决高下。 二.游戏系统拆解图 三.游戏系统部分分析 1. 对战系统 (1)战斗准备 炉石传说开始前都需要配置至少30张卡牌作为出战卡组 .....

Jimmy72236的博客 4920

【Python基础019】匿名函数lambda与关键字yield

lambda函数被称为匿名函数,主要是指在程序中只调用一次或几次后就不需要再使用的函数,属于“一次性”函数,并且不需要def关键字来定义函数。其语法格式如下:其中,arguments是函数参数,expression是函数体中的表达式。Lambda函数可以有任意数量的参数,但只能有一个表达式。例如,求两数之和求两数的平方和。

江湖小Jay的博客 491

​网格划分理论:CFD理论67 网格划分-三大理论问题_哔哩哔哩_bilibili传统解释非结构化网格是不对的——计算传热学大叔专题讨论2--CFD网格类型_哔哩哔哩_bilibili

传统解释非结构化网格是不对的——计算传热学大叔。fluent计算理论和离散方法原理视频推荐。

qq_15963745的博客 182

Python特殊语法:filter、map、reduce、lambda、yield

Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回: >>> def f(x): return x % 2 != 0 and x %

朝着梦想 渐行前进 5568

[RK3568 Android11] 教程之原厂SDK源码适配AIO-3568J板子跑起来

目录 一、前提 二、修改dts设备树 三、适配板子的dts 四、编译系统烧入固件验证 一、前提 因源码是直接使用原厂的SDK,没有使用firefly配套的SDK源码,所以手上这块firefly aio-3568j板子在硬件设计上与原厂使用的板子会有些差异;就是因为这些差异会导致新固件烧入后,debug串口打印许多错误信息,可能的话,系统还会崩溃掉,跑不起来; 主要差异在哪里呢?比如: ● DDR类型和品牌多样性; ...

~未来可期~ 1744

FastGPT智能体开发:FastGPT OpenAPI 知识库接口

FastGPT OpenAPI 知识库接口

王国平的博客 321

Python map()函数的用法

Python函数式编程之map()Python中map()、filter()、reduce()这三个都是应用于序列的内置函数。 格式: map(func, seq1[, seq2,…]) 第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。 Python函数编程中的map()函数是将func作用于seq中的每一个元素,并将所有的调用的结果作为一个list返回。如

另一个自己 10万+

微信小程序 - 获取当前日期时间(函数封装)

效果图 前言 摘自微信小程序demo程序中utils.js方法。 普通newDate()出来的日期时间,并不是我们想要的格式,所以要进行格式整理。 解决方案 打开utils.js文件(随意),复制以下代码: /** *获取当前时间 *@description自定义日期分钟秒数 *@param{Object}date-newData()对象 *@returnString */ functionformatTime(date){ //年月日

🏆 前端领域优质创作者 2843

filter、map、reduce、lambda、yield的用法

python 的几个小函数 filter、map、reduce、lambda、yield 有了它们,最大的好处是程序更简洁;没有它们,程序也可以用别的方式实现,只不过麻烦一些罢了。所以,还是能用则用之吧。 lambda lambda函数,是一个只用一行就能解决问题的函数,听着是多么诱人呀。看下面的例子:&gt;&gt;&gt; def add(x):     #定义一个函数,将输入的变...

记录点滴 424

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python函数之lambda,内置函数,yield生成器等

lambda 1,用于处理简单逻辑 2,自动返回数据(return) 单参数 >>> func2 = lambda a: a+1>>> result = func2(1000)>>> print result1001 多参数 >>> func3 = lambda a,b: a+b>>&g...

abtmh02622的专栏 145

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python 函数 map 、lambda

开篇就要提到一个大的话题:编程范型。什么是编程范型?引用维基百科中的解释: 编程范型或编程范式(英语:Programming paradigm),(范即模范之意,范式即模式、方法),是一类典型的编程风格,是指从事软件工程的一类典型的风格(可以对照方法学)。如:函数式编程、程序编程、面向对象编程、指令式编程等等为不同的编程范型。 编程范型提供了(同时决定了)程序员对程序执行的看法。例如,在面向...

hiekay的博客 496

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

三元运算式、lambda表达式、内置函数map、reduce、filter以及yield生成器

一、三元运算(式) 对于一般简单的if else条件判断句可以用三元运算来表示 具体模式为: 1 2 3 4 5 6 ifcondition: expr1 else: expr2 等价于: expr1ifconditionelseexpr2 解释:如果if condition条件成立就执行e...

weixin_33849942的博客 111

优雅的python_优雅的python

在知乎上看到的问题——python有哪些优雅的代码实现。下面的代码大概也算不上优雅。一下代码在python3中实现更多内容可见:http://book.pythontips.com/en/latest/args_and_kwargs.htmllambda函数的使用lambda,又称匿名函数。当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。比如命名一个普通的函数:def ...

weixin_39630410的博客 108

4天学会python_Python第四天

冒泡算法:循环with.open("ha.cfg") as obji:for line in boj #逐行读取,效率更高startswith空字符串的bool值为falsejson1、内部必须为双引号。2、字符转成列表哦简化的函数定义lambda1、自动return2、处理简单逻辑func = lambda arg: arg +1等同于def func(arg):return arg+1列表每项...

weixin_39628271的博客 45

Python 10 个习惯用法,第二期

Python 使用习惯第一期:Python 10 个习惯用法,看看你都知道不?今天是 Python 使用习惯第二期:11-2011 字典默认值In[1]:d={'a&#39...

算法channel 361

lambda小应用(Python)

python内置支持不少函数式编程思想比如内置函数reduce,map,filter,any,all支持lazy求值(yield)的用法支持lambda我们看几个简单的例子体验一下lambda的厉害题一:求最大公约数gcd = lambda x,y: gcd(y,x%y) if x%y else y print gcd(a,b)题二:求100以内的素数,并以空格分开后将结果输出print ' '....

cylon的专栏 936

柏老师python笔记(四)

# encoding: utf-8 """ author: Leo date: 2017-6-21 """ # 函数的使用 # 参数的收集(Python)使用这种方法解决参数个数不确定性 # *arg返回的是一个元祖的类型,如果不给*arg传值的话那么他就是一个空的元祖 def func(x, *arg):     print x     result = x    

jinjiao_的博客 293

python 常见函数_python常用函数

1. range与xrangerange([start,] stop[, step])range可以创建一个从start到stop(不包含)的列表,用在循环中时,会一次性把列表都加载到内存中。xrange([start,] stop[, step])xrange可以创建一个从start到stop(不包含)的生成器,用在循环中时,不会一次性加载所有内容,而是每次调用返回其中的一个值,因此始终占用很小...

weixin_39604557的博客 126

python随笔学习

python随笔

m0_74304371的博客 563

python的闭包、装饰器和lambda等(笔记)

参考: http://blog.youkuaiyun.com/marty_fu/article/details/7679297(闭包,推荐看这个) https://foofish.net/python-decorator.html(装饰器,推荐) http://www.cnblogs.com/tqsummer/archive/2010/12/27/1917927.html(yield) http://www....

weixin_34029949的博客 171

简单了解Python中的几种函数

reduce函数的计算方式是将列表中的元素累加,((((1+2)+3)+4)+5)=15 与map函数相比较就可以看出两者之间的区别。python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter、map、reduce、lambda、yield。在执行的时候,序列对象中的每个元素,按照从左到右的顺序,依次被取出来,并放入。比如,要打印一个list,里面依次是某个数字的1次方,二次方,三次方,四次方。到func那个函数里面,并将func的返回值依次存到一个list中。

sillyoung的博客 18
上一篇: Python中星号 * 的正确打开方式
下一篇: Python教程:文件I/O的用法
Python程序u猿
博客等级 码龄5年 622粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值