笔记
lambda表达式
如上图,lambda x :2 * x + 1就是lambda表达式,是def ds(x)的简化 。冒号前面是原函数的参数,有多个参数则用逗号隔开,冒号后边是原函数的返回值。
如上图可调用lambda表达式,并且称lambda表达式定义出的函数为匿名函数。使用完毕后一段时间Python会将该匿名函数自动清除。
filter()函数(过滤器)
filter(function or None, iterable),返回一个迭代器,该迭代器生成fuction(项)为真的iterable 项。如果函数为None,则返回为true的项。
map()函数(映射)
map(func, *iterables),生成一个迭代器,该迭代器使用来自每个iterable的参数来计算函数func。当最短的iterable耗尽时停止。
课后作业
测试题
0.答:
lambda x,y = 3 : x*y
1.答:
def odd(x):
if x % 2:
return x
else:
return None
2.答:
不需要为起名而感到烦恼。且某些只需要用一两次的函数也无需专门编写定义再引用,使得代码看起来更加简洁。
3.答:
list(filter(lambda x :not x%3,range(1,101)))
4.答:
例如对于第三题:
list1 = [i for i in range(1,101) if not i%3 ]
5.答:
list(map(lambda x,y : [x,y] ,range(1,11,2),range(2,11,2)))
6.答:
16
FishCFishC