- 没有名字的函数
- 用 lambda 表达式
- 创建匿名函数
-
2、使用场景
- 需要一个函数,但是又不想费神去命名这个函数
- 通常在这个函数只使用一次的场景下
- 可以指定短小的回调函数
-
3、语法
- result = lambda [arg1 [, arg2, .... , argn]]: expression
- result:调用 lambda 表达式
- [arg1 [, arg2, …. , argn]]:可选,指定要传递的参数列表
- expression:必选,指定一个实现具体功能的表达式
-
4、场景练习
- 给定一个正整数n和一个目标数字target,请编写一个函数,将0到n之间(包含首尾)的所有数字进行平方,统计并返回这些平方数中包含target目标数的总个数。如果平方数中含出现多次目标数字,应当统计多次。
示例:
输入:n=10, target = 1
输出:4
解释:平方后得到 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100,含有1的数字有1,16,81和100,所以是返回4。 -
n=10 target=1 list1=[] for i in range(0,11): pf=i**2 list1.append(pf) print(list1)#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100] si =type(str(list1))#<class 'str'> print(si) #过滤列表的每个元素,符合这个条件的str(x).__contains__('1'),可以看成入参就是判断条件和列表元素 a=filter(lambda x:str(x).__contains__('1'), list1) print(a) b=list(filter(lambda x:str(x).__contains__('1'), list1)) print(b)#[1, 16, 81, 100] print(len(list(filter(lambda x:str(x).__contains__('1'), list1))))#4
5、参考文章
python lambda 表达式
最新推荐文章于 2024-10-17 08:00:29 发布