本文共 1209 字,大约阅读时间需要 4 分钟。
匿名函数通俗的讲就是没有名字的函数,是一种简单、在同一行中定义的函数。
匿名函数构造简单,不需要把函数提取出来放到外面单独列出来,这也是为什么使用其的原因。
lambda arg1,arg2,arg3… :<表达式>
函数输入:功能 | 对应函数中的内容 |
---|---|
函数输入 | arg1/arg2/arg3…… |
函数主体 | <表达式> |
运算结果 | 表达式的运算结果 |
例子:
lambda x,y : x*y 函数输入x,y,输出x和y的乘积a = lambda x : x*2print(a(3)) #输出6
a = [lambda x:x+2,lambda x:x*2]print(a[0](3),a[1](3)) #输出5,6
基础题:
1、下面这段代码会有什么效果呢?time.sleep=lambda x:Nonetime.sleep(3)
2、下面这段代码输出是什么?
add=lambda x, y: x+yprint(add(1,2))
进阶题:
1、求返回值sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: abs(5-x))
2、求返回值
list(filter(lambda x: x % 3 == 0, [1, 2, 3]))
3、求返回值
list(map(lambda x: x+1, [1,2,3]))
基础题:
1、程序不会进行3秒钟的休眠操作 2、输出3进阶题:
1、解答: sorted(iterable[, cmp[, key[, reverse]]]) s.sort([cmp[, key[, reverse]]])中参数的含义:sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: abs(5-x))是将每一个元素拿去计算得出和5的差距,然后再排序,所以含义就是计算每一个元素到5的距离从小到大的排序。返回值应该是[5, 4, 6, 3, 7, 2, 8, 1, 9]
2、解答:
filter是过滤器,过滤出能被3整除的数,注意如果没有 list() 类型转换将返回一个可迭代对象,这里返回值应该是[3]3、解答:
返回[2, 3, 4]转载地址:http://cnggn.baihongyu.com/