【学习什锦】python中的匿名函数(lambda)与max、key参数

简介: 【学习什锦】python中的匿名函数(lambda)与max、key参数

前言:今天在参看目标跟踪IOUTracker的源码的时候发现许多的python代码看不懂,特此记录。


一、匿名函数lambda

跟C++一样,python也具有匿名函数lambda,具有以下特点:


ambda只是一个表达式,函数体比def简单很多。

lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。

lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。

虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

其定义的方法是:lambda [arg1 [,arg2,…argn]]:expression

如下列代码段定义的函数就是求两者相加:

sum = lambda arg1, arg2: arg1 + arg2


二、max()与key参数

max()是求之后的数组或者字典中的最大值,key关键字的作用是先对该数组的每个参数进行操作(即执行一个函数)之后再求最大值。

如:

tesL= [1,2,-3,4,5,-6]

print(max(test, key=abs))

最后返回的结果就是6。


2020/10/19

“本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/ll15982534415/article/details/109168630。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。”

相关文章
|
1天前
|
存储 Python
在Python中,匿名函数(lambda表达式)是一种简洁的创建小型、一次性使用的函数的方式。
【6月更文挑战第24天】Python的匿名函数,即lambda表达式,用于创建一次性的小型函数,常作为高阶函数如`map()`, `filter()`, `reduce()`的参数。lambda表达式以`lambda`开头,后跟参数列表,冒号分隔参数和单行表达式体。例如,`lambda x, y: x + y`定义了一个求和函数。在调用时,它们与普通函数相同。例如,`map(lambda x: x ** 2, [1, 2, 3, 4, 5])`会返回一个列表,其中包含原列表元素的平方。
10 4
|
1天前
|
Python
在Python中,高阶函数是指那些可以接受一个或多个函数作为参数,并返回一个新的函数的函数。
【6月更文挑战第24天】Python的高阶函数简化代码,增强可读性。示例:`map()`检查用户名合法性,如`["Alice", "Bob123", "Charlie!", "David7890"]`;`reduce()`与`lambda`结合计算阶乘,如1到10的阶乘为3628800;`filter()`找出1到100中能被3整除的数,如[3, 6, 9, ..., 99]。
7 3
|
5天前
|
Python
Python中使用星号(*)处理位置参数
【6月更文挑战第14天】
10 4
|
5天前
|
存储 Python 容器
|
4天前
|
Python
Python中解包为关键字参数
【6月更文挑战第15天】
8 2
|
6天前
|
Python
在Python中,解包参数列表和Lambda表达式是两个不同的概念
【6月更文挑战第19天】在Python中,解包参数允许将序列元素作为单独参数传递给函数,如`greet(*names_and_ages)`。而Lambda表达式用于创建匿名函数,如`lambda x, y: x + y`。两者可结合使用,如`max(*numbers)`找列表最大值,但过度使用lambda可能降低代码可读性。
12 3
|
6天前
|
Python
Python教程:一文了解如何使用Lambda 表达式和 filter函数实现过滤器
在 Python 中,Lambda 表达式是一种匿名函数,也就是没有名称的函数。它允许您快速定义简单的单行函数,通常用于函数式编程中的一些场景,例如在高阶函数中作为参数传递。
16 2
|
1天前
|
Python
Python深入学习教程
Python深入学习教程
|
1天前
|
JavaScript PHP 网络架构
Python学习技巧及方法总结
Python学习技巧及方法总结