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]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章