python函数 map与lambda表达式

map()函数
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。Python 2.x 返回列表。Python 3.x 返回迭代器。

map(function, iterable, ...)

参数

function -- 函数
iterable -- 一个或多个序列

python2

>>> def p(x):
...     return x**2
...
>>> a = [1,2,3]
>>> map(p,a)
[1, 4, 9]
>>> `

python3

>>> def p(x):
...     return x**2
...
>>> a = [1,2,3,4]
>>>
>>> map(p,a)

>>>
>>> list(map(p,a))
[1, 4, 9, 16]
>>>

lambda表达式

lambda表达式返回可调用的函数对象,并且在运行时返回它们,通常是在需要一个函数,但是又不想去命名一个函数的场合下使用。所以lambda表达式就相当于一个函数。如
lambda x : x+1 这里表示输入x,输出为x+1

例如

>>>
>>> g = lambda x : x**2
>>>
>>> type(g)

>>>
>>> g(3)
9
>>>

x表示输入,x**2输出,lambda表达式是一个函数对象。

map和lambda表达式联合使用

>>>
>>> a = [2,5,6]
>>>
>>> list(map(lambda x:x*10,a))
[20, 50, 60]
>>>
>>> a
[2, 5, 6]
>>> >>>

你可能感兴趣的:(python)