描述
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
语法
map(function, iterable, ...)
# function -- 函数名)
# iterable -- 一个或多个(序列
举个栗子
>>> def square(x):
... return x ** 2
...
>>> map(square, [1,2,3])
<map object at 0x7f7b8b469c10>
>>> print(map(square, [1,2,3]))
<map object at 0x7f7b8b469cd0>
>>> list(map(square, [1,2,3])) #返回的是map object
[1, 4, 9]
######################################
>>> list(map(lambda x: x ** 2, [1,2,3]))
[1, 4, 9]
- lambda表示匿名函数,冒号前面的x表示函数参数。
- 只能有一个表达式,不用写return,返回值就是表达式的结果
- 可以把匿名函数赋值给一个变量,再利用变量来调用函数
>>> f = lambda x: x * x
>>> f
<function <lambda> at 0x101c6ef28>
>>> f(5)
25
- 可以把匿名函数作为返回值返回
>>> def build(x,y):
... return lambda: x + y #返回的是一个函数
...
>>> build(1,2)
<function build.<locals>.<lambda> at 0x7f7b8b4440e0>
>>> build(1,2)()
3