当前位置:网站首页>第021讲:函数:lambda表达式 | 课后测试题及答案
第021讲:函数:lambda表达式 | 课后测试题及答案
2022-06-22 20:05:00 【ChaseTimLee】
测试题:
0. 请使用lambda表达式将下边函数转变为匿名函数?
def fun_A(x, y=3):
return x * y
>>> a = lambda x, y=3: x * y
>>> a(1,2)
2
>>> a(2)
6
1. 请将下边的匿名函数转变为普通的屌丝函数?
lambda x : x if x % 2 else None
def a(x):
if x % 2:
return x
else:
return None
2. 感受一下使用匿名函数后给你的编程生活带来的变化?
答:
a. Python 写一些执行脚本时,使用匿名函数就可以省下定义函数过程,比如说我们只是需要写个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用匿名函数就可以使得代码更加精简。
b. 对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候给函数起个名字也是比较头疼的问题,使用匿名函数就不需要考虑命名的问题了。
c. 简化代码的可读性,由于普通的屌丝函数阅读经常要跳到开头 def 定义部分,使用匿名函数函数可以省去这样的步骤。
3. 你可以利用 filter() 和 lambda 表达式快速求出 100 以内所有 3 的倍数吗?
list(filter(lambda x: x % 3 == 0, range(1, 100)))
list(filter(lambda n : not(n%3), range(1, 100))) # 小甲鱼代码
4. 还记得列表推导式吗?完全可以使用列表推导式代替 filter() 和 lambda 组合,你可以做到吗?
[ i for i in range(1, 100) if not(i%3)]
5. 还记得 zip 吗?使用 zip 会将两数以元祖的形式绑定在一块,例如:
>>> list(zip([1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))
[(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]
但如果我希望打包的形式是灵活多变的列表而不是元祖(希望是 [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]] 这种形式),你能做到吗?(采用 map 和 lambda 表达式)
>>> list(map(lambda x, y : [x, y], [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
6. 请目测以下表达式会打印什么?
def make_repeat(n):
return lambda s : s * n
double = make_repeat(2)
print(double(8))
print(double('FishC'))
答:
16
FishCFishC
边栏推荐
- Correspondence between int and char in C language
- Moke 5. Service discovery -nacos
- 日本动漫作家和其部分作品
- The access succeeds but an exception is thrown: could not find acceptable representation
- [the penultimate node in the linked list]
- 采用网络远程访问树莓派。
- Flutter System Architecture(Flutter系统架构图)
- Apple GCD source code
- ACM. HJ45 名字的漂亮度 ●●
- 微信小程序批量提交审核
猜你喜欢
![[redis]redis6 master-slave replication](/img/47/3be33a0d7435bd75cdd6e7b4ea51d4.png)
[redis]redis6 master-slave replication

NFT,只可远观不可亵玩焉
![[513. find the value in the lower left corner of the tree]](/img/6d/b2ec8e3072a65c20c586941e6b2a85.png)
[513. find the value in the lower left corner of the tree]

优化求解器 | Gurobi的MVar类:矩阵建模利器、求解对偶问题的备选方案 (附详细案例+代码)

Arcgis中las点云数据抽稀
![[876. intermediate node of linked list]](/img/c8/463d150bc6c88cfb57e94795957b0e.png)
[876. intermediate node of linked list]

【138. 复制带随机指针的链表】
![[redis]发布与订阅](/img/50/0c2fbbb8f56fccdd3222b77efdd723.png)
[redis]发布与订阅
![[redis]redis persistence](/img/83/9af9272bd485028062067ee2d7a158.png)
[redis]redis persistence

How swiftui simulates the animation effect of view illumination increase
随机推荐
嵌入式开发基础之任务管理(线程管理)
优化求解器 | Gurobi的MVar类:矩阵建模利器、求解对偶问题的备选方案 (附详细案例+代码)
NumPy学习笔记(六)——sum()函数
密码学系列之:PKI的证书格式表示X.509
Flutter System Architecture(Flutter系统架构图)
[redis]redis6 master-slave replication
数据库总结:mysql在开发过程中常见的问题及优化
查看苹果产品保修状态
redis学习笔记
杰理之动态切换 EQ 文件【篇】
2022年起重机械指挥考试模拟100题及模拟考试
Moke 5. Service discovery -nacos
基于C语言开发工资管理系统 课程论文+源码及可执行exe文件
Pytorch's model saving, loading and continuing training
日本动漫作家和其部分作品
Evaluation index and code realization (ndcg)
How swiftui simulates the animation effect of view illumination increase
The access succeeds but an exception is thrown: could not find acceptable representation
【20. 有效的括号】
浅析 Open API 设计规范