首页 > 编程语言 > 详细

小甲鱼零基础python课后题 P22 021函数:lambda表达式

时间:2019-04-09 23:38:23      阅读:252      评论:0      收藏:0      [点我收藏+]

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 funt(x):
    if x % 2:
        return x
    else:
        return None

 

  

 

 

 

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

答:代码更简洁,内存利用更高和脑壳有点转不过来。

 

 

 

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

答:

print(list(filter(lambda n :not(n%3),range(100))))

 

 

 

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

答:

print([i for i in range(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]))

 

 

 

 

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

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

答:

16
FISHCFISHC

小甲鱼零基础python课后题 P22 021函数:lambda表达式

原文:https://www.cnblogs.com/pythonliu128/p/10680557.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!