Python map函数,lambda表达式

最近在输一些算法题,真的是被递归搞得够呛,越做到后面我基本上是越放弃递归方法的状态,转而去看一些非递归的实现方法。

以前的开发中,从未使用过map函数,以及经常看到 lambda表达式,但是也不了解具体含义,今天趁日更,先做一些整理,希望在以后解题的时候有帮助。

map函数

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

详细的例子解释参考博文:

https://www.cnblogs.com/lincappu/p/8179475.html

lambda表达式

类似于一种匿名函数(没有函数名的函数),通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用。

s=[1,2,3]

list(map(lambda x:x+1,s))

这里的 lambda x:x+1 相当于是一个带有一个参数x的函数, lambda和: 之间相当于 fun()函数的参数, :(冒号)后x+1相当于这个函数的功能是x+1,并且会直接返回结果,即相当于return x+1。

上面的例子执行结果是:[2,3,4]

l4=map(lambda x,y:(x*y,x+y),[2,3],[1,2])

for i in l4:

    print(i)

输出:#每个list中对位的数做两种运算,并输出。对于长度不一致的两个list,map不会报错

(2, 3)

(6, 5)

你可能感兴趣的:(Python map函数,lambda表达式)