Python lambda匿名函数妙用
最近一直在坚持leetcode每日一题,遇到了一种很有意思且方便的lambda匿名函数,记录一下备忘~
语法
lambda函数的语法非常简单,如下:
1 |
|
举个栗子:
1 |
|
语法非常简单,但是可以和其他常用函数组合起来实现很多效果。
将lambda函数作为参数传递给其他函数
1.与map函数结合
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
1 |
|
此时lambda函数用于指定对列表中每一个元素的共同操作
1 |
|
2.与filter函数结合
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
1 |
|
此时lambda函数用于指定过滤列表元素的条件。
1 |
|
3.与sorted函数结合
sorted() 函数对所有可迭代的对象进行排序操作
1 |
|
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
此时lambda函数用于指定对列表中所有元素进行排序的准则:
1 |
|
4.与reduce函数结合
reduce() 函数会对参数序列中元素进行累积。
1 |
|
此时lambda函数用于指定列表中两两相邻元素的结合条件:
1 |
|
总结
lambda 并不会带来程序运行效率的提高,只会使代码更简洁,可以与一些python内置函数使用,增加灵活性。
Python lambda匿名函数妙用
https://chujian521.github.io/blog/2022/06/29/Python-lambda匿名函数妙用/