这个代码怎么读懂啊,不会(感觉应该是挺简单的吧)哭了,为什么提个问题要求这么多
函数式编程是为了方便数据分析的,不容易读懂很正常,连python创始人都讨厌函数式编程
这里面几个例子可以这么理解,比如map
def map(fun, myList):
res=[]
for i in myList:
res.append(fun(i))
return res
可以看到,就是把可迭代对象的每个元素放到另一个函数fun()里去执行,然后组成一个新的可迭代对象返回。
这里返回列表只是为了方便理解,实际上返回的是map类型的可迭代对象。
lambda表达式也是如此:
lambda x: x+1
就可以理解成
def fun(x):
return x+1
只不过使用lambda的好处是,不用定义函数名,所以也叫匿名函数。
其实lambda表达式就是数学上函数的概念,写成 f(x) = x+1 应该就能看懂了。