1. lambda 表达式
(1) 优点:
a. 在写一些简单函数时,可以省下定义函数的过程,使得代码更加精简 ,同时也简化了代码的可读性
b. 对于一些比较抽象并且只需要调用一两次的函数,有时候给函数取名字也比较头疼,使用lambda就不用给函数命名了
(2) 实例: lambda表达式返回一个函数,如下例,冒号前的x,y是要接收的两个参数,冒号后的表达式x+y是函数要执行的操 作,并返回该操作的结果。
func = lambda x,y : x+y print(func(3,5)) 8
2. filter 方法:筛选出值为True的元素
如下例,filter接受两个参数,第一个参数None默认表示筛选前不对列表中的数据做操作,第二个列表参数表示要筛选的对象
filter(None,[1,-1,2,0,True,False]) <filter at 0x26485a09588> list(filter(None,[1,-1,2,0,True,False])) [1, -1, 2, True]
将isOdd函数作为参数传入filter,表示先将列表中的每个元素执行isOdd函数操作,筛选处返回值为True的元素。
def isOdd(x): return x % 2 list(filter(isOdd,[1,-1,2,0,True,False])) [1, -1, True]
list(filter(lambda x : x%2,range(10))) [1, 3, 5, 7, 9]
3. map 方法
map方法接收两个参数, func函数表示要进行的操作,iter1为可迭代对象。map(func, iter1)方法可以对每个iter1中的每个应用func进行操作,并返回值。
map(lambda x:x%2,range(10)) <map at 0x26485a2cb00> list(map(lambda x:x%2,range(10))) [0, 1, 0, 1, 0, 1, 0, 1, 0, 1] list(map(lambda x:x*2,range(10))) [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]