Python笔记008 - 匿名函数
- lambda函数表达式专门用来创建一些简单的函数,它是函数创建的又一种方式。
- 语法:lambda 参数列表:返回值
# lambda
def fn(a, b):
return a + b
print(fn(123, 456))
# 579
print(lambda a,b:a+b )
# <function <lambda> at 0x100b014c0>
print((lambda a,b:a+b)(123,456))
# 579
# 一般不这样用,这样是和调用函数是等价的
# (调用的函数)(参数1,参数2) -> (lambda a,b:a+b)(123,456)
# 也可以将匿名函数复制给一个变量
fn1 = lambda a,b:a+b
print(fn1(123,456))
# 579
# 但是一般也不会这样用
# 可以将 匿名函数 和 filter() 函数进行结合使用
# 这里比如想要整理出可以被3整除的元素:
l = [1,19,9,2,3,4,5,9]
r = filter(lambda i:i%3 == 0, l)
print(list(r))
# [9, 3, 9]
- map( )
- map( ) 函数可以对可迭代对象中的所有元素做指定的操作,然后将其添加到一个新的对象中返回
l = [1,19,9,2,3,4,5,9]
r = map(lambda i : i+1, l)
print(list(r))
# [2, 20, 10, 3, 4, 5, 6, 10]
r = map(lambda i : i**2, l)
print(list(r))
# [1, 361, 81, 4, 9, 16, 25, 81]
- filter( ) 是过滤的
- map( ) 是对元素做相应操作的