函数式编程工具:filter和reduce
生活随笔
收集整理的這篇文章主要介紹了
函数式编程工具:filter和reduce
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#函數式編程工具:filter和reduce#python內置函數中,map函數是用來進行函數式編程這類工具最簡單的內置函數代數#函數式編程含義:
#一種編程范式,也就是如何編寫程序的方法論,是一種編程思想。
#無法給予準確的定義
#函數式編程的編程風格強調表達式計算,而不是執行命令。#常見函數式編程
#filter:基于某一測試函數過濾出一些元素
#reduce:對每對元素都應用函數并運行到最后結果,兩者都返回可迭代對象#頁碼:523
#filter, 過濾
print list(filter((lambda x:x>0),range(-5,5)))#[1, 2, 3, 4]#以上等價于:
res=[]
for x in range(-5,5):if x>0:res.append(x)
#為什么在print res時沒有縮進呢?因為res他的定義是頂格的,如果print不是頂格,那么兩者之間必然存在輸出結果的差異print res#[1, 2, 3, 4]#reduce函數
#一對元素兩兩運行得到其結果
print reduce((lambda x,y:x+y),[1,2,3,4])#10
print reduce((lambda x,y:x*y),[1,2,3,4])#24#編寫函數通用設計原則:
1)函數盡可能小,盡可能自包含、有單一、統一的用途
2)出入參數和返回值等其他部分相互通信--通信的功能
?
總結
以上是生活随笔為你收集整理的函数式编程工具:filter和reduce的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot实战:数据库操作
- 下一篇: 7z源码的编译与使用_markdown