本文是跟着鱼C论坛小甲鱼零基础学习Python3的视频学习的,课后题也是跟随每一课所附属的题目来做的,根据自己的理解和标准答案记录的笔记。
第二十一课
测试题:
0.请使用lambda表达式将下边函数转变为匿名函数?def fun_A(x, y = 3):
return x * y
答:lambda x, y = 3 : x * y
1.请将下边的匿名函数转变为普通的屌丝函数?lambda x : x if x%2 else None
答:def funx(x):
if x % 2:
return x
else:
return None
2.感受一下使用匿名函数后给你的编程生活带来的变化?
答:匿名函数方便于创建一个临时使用的函数,特别是在配合一些BIF(内置函数)使用的时候,比如说 fliter() 与 map() ,只是临时需要一个函数过程去进行某段代码程序的时候,匿名函数 lambda 将很方便,不用再去定义命名一个新函数,能够有效地使得代码简洁美观,也提升了代码书写的工作效率。
3.你可以使用filter()和lambda()表达式快速求出100以内所有3的倍数吗?
答:list(filter(lambda x : x % 3 == 0 , range(100)))
4.你还记得列表推导式吗?完全可以使用列表推导式代替filter()和lambda组合,你可以做到吗?
答:以第三题的要求为例[x for x in range(100) if x % 3 == 0]
列表推导式 与 filter