Python快速入门3--函数式编程

函数式编程(Functional Programming)或者函数程序设计,又称泛函编程,是一种编程范型,它将计算机运算视为数学上得函数计算,并且避免使用程序状态以及易变的对象。
在Python中,函数式编程主要由几个函数的使用构成:lambda(),map(),reduce(),filter()。

map()函数

用于逐一遍历

a=[1,2,3]
b=map(lambda x:x+2,a)
b=list(b)
'''
在3.x需要b=list(b)这一步,在2.x不需要这步,原因是在3.x中,map函数仅仅是创建一个待运行的命令容器,只有其他函数调用它的时候才返回结果
'''
map(lambda x,y:x*y,a,b)

reduce函数

用于递归计算

reduce(lambda x,y:x*y,range(1,n+1))
'''
在2.x中,上述命令可以直接运行,在3.x中,reduce函数已经被移除了全局命名空间,它被置于fuctools库中,如需使用,则通过form fuctools import reduce 引入reduce
'''
s=1
for i in range(1,n+1):
    s=s*i

filter()函数

用来筛选出列表中符合条件的元素

b=filter(lambda x:x>5 and x<8,range(10))
b=list(b)
b=[i for i in range(10) if i>5 and i<10]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章