zoukankan      html  css  js  c++  java
  • 小甲鱼Python第021讲函数:lambda表达式 | 课后测试题及参考答案

    笔记:

    1、lambda表达式的作用:

    1)Python写一些执行脚本时,使用lambda就可以省下定义函数的过程,使用lambda就可以使得代码更加精简。

    2)有时候我们个函数起个名字也是比较头疼的问题(对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数),使用lambda就不需要考虑命名问题。

    3)简化代码的可读性,使用lambda函数可以省去这样的步骤。

    2、两个重要的BIF

    1)filter(function or None,iterable):两个参数为函数和可迭代的序列,函数定义了过滤的规则,默认过滤出真的部分。

    2)map(function or None,iterable):同filter()的两个参数相同,这个内置函数的作用是:将序列的每一个元素作为函数的参数进行运算加工,直到可迭代序列的每个元素都加工完毕,返回所有加工后的元素构成的新序列。强大的map()后边可以接受多个序列作为参数的。

    测试题:

    0.  请使用lambda表达式将下边函数转变为匿名函数?

    1 def fun_A(x,y=3):
    2     return x*y

    >>>

      lambda x,y=3:x*y

    1.  请将下边的匿名函数转变为普通的屌丝函数?

    1 lambda x:x if x%2 else None

    >>>

    1 def fun(x):
    2     if x % 2 :
    3         return x
    4     else:
    5         return None

    2.  感受一下使用匿名函数后给你的编程生活带来的变化?

    1)Python写一些执行脚本时,使用lambda就可以省下定义函数的过程,比如说我们只是需要写一个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用lambda就可以使得代码更加精简。

    2)对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候我们个函数起个名字也是比较头疼的问题,使用lambda就不需要考虑命名问题。

    3)简化代码的可读性,由于普通的函数阅读经常要跳到开头def定义部分,使用lambda函数可以省去这样的步骤。

    3.  你可以利用filter()和lambda表达式快速求出100以内所有3的倍数吗?

    1 print (list(filter(lambda x:(x%3 ==0)  ,range(1,100))))

    4.  还记得列表推导式吗?完全可以使用列表推导式代替filter()和lambda组合,你可以做到吗?

    1 print([x for x in range(1,100) if x%3==0 ])

    5.  还记得zip吗?使用zip会将两数以元祖的形式绑定在一块,例如:

    1 print(list(zip( [1,3,5,7,9],[2,4,6,8,10])))
    2 输出:
    3 [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]

    但如果我希望打包的形式是灵活多变的列表而不是元祖(希望是[[1,  2],  [3,  4],  [5,  6],  [7,  8],  [9,  10]]这种形式),你能做到吗?

    1 print(list(map(lambda x,y:[x,y], [1,3,5,7,9],[2,4,6,8,10])))

    6.  请目测以下表达式会打印什么?

    1 def make_repeat(n):
    2     return lambda s:s*n
    3 double = make_repeat(2)
    4 print(double(8))
    5 print(double("FISHC"))

    >>>16

    >>>FISHCFISHC

  • 相关阅读:
    C++11——nullptr和NULL的区别
    C++11——原始字面量
    查看电脑内存是ddr3还是ddr4
    建立虚拟课堂需要考虑哪些因素?
    【解决方案】AI赋能智慧楼宇,如何实现多场景下的精细管理?
    H265网页播放器EasyPlayer.JS如何监听播放等相关事件回调?
    TSINGSEE青犀视频流媒体平台按需拉流和非按需拉流的区别及适用情况
    TSINGSEE青犀视频助力医疗废物处置可视化监管,筑牢口岸医疗废物管控防线
    TSINGSEE青犀视频行人智能检测测试报错panic: runtime error排查过程
    TSINGSEE青犀视频接入海康解码器SDK解码远程文件流程
  • 原文地址:https://www.cnblogs.com/IT-NXXB/p/12969151.html
Copyright © 2011-2022 走看看