1. 程式人生 > >Python的functools.reduce用法

Python的functools.reduce用法

python 3.0以後, reduce已經不在built-in function裡了, 要用它就得from functools import reduce.

reduce的用法

reduce(function, sequence[, initial]) -> value

Apply a function of two arguments cumulatively to the items of a sequence,
from left to right, so as to reduce the sequence to a single value.
For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
((((1+2)+3)+4)+5).  If initial is present, it is placed before the items
of the sequence in the calculation, and serves as a default when the
sequence is empty.

意思就是對sequence連續使用function, 如果不給出initial, 則第一次呼叫傳遞sequence的兩個元素, 以後把前一次呼叫的結果和sequence的下一個元素傳遞給function. 如果給出initial, 則第一次傳遞initial和sequence的第一個元素給function.

from functools import reduce  
reduce(lambda x,y: x+y, [1, 2, 3])  
輸出 6  
reduce(lambda x, y: x+y, [1,2,3], 9)  
輸出 15  
reduce(lambda x,y: x+y, [1, 2, 3], 7)
輸出 13

*functool標準庫還有很多功能,可以參考網上的資料

相關推薦

map reduce 用法 str處理lower() capitalize()

rod str -s tip col key mps capital 元素 -- 1 s=‘123456‘ 2 l={‘0‘:0,‘1‘:1,‘2‘:2,‘3‘:3,‘4‘:4,‘5‘:5,‘6‘:6,‘7‘:7,‘8‘:8,‘9‘:9}[s[0]] 3 print(l)

Python內建函數reduce()用法

red .com 必須 ret 用法 文章 輸出結果 序列 下一個 reduce把一個函數作用在一個序列[x1, x2, x3...]上,這個函數必須接收兩個參數,reduce把結果繼續和序列的下一個元素做累積計算,下面講述Python內建函數reduce()用法。

【python進階】map, filter, reduce用法

map map會將一個函式對映到一個輸入列表的所有元素上面。 map(function_to_apply, list_of_inputs) map可以讓我們用一種簡單而漂亮得多的方式來實現。 items = [1,2,3,4,5] squared = lis

Python的functools.reduce用法

python 3.0以後, reduce已經不在built-in function裡了, 要用它就得from functools import reduce. reduce的用法 reduce(function, sequence[, initial]) -> valueApply a functi

reduce python 的用法

placed pos app default tool value nbsp gpo too 1.查看reduce 的用法 在python 命令查看 import functools help(functools) help(functools.reduce)

js數組高階方法reduce經典用法代碼分享

扁平化 順序 theme value 順序執行 group 判斷函數 anagram new 以下是個人在工作中收藏總結的一些關於javascript數組方法reduce的相關代碼片段,後續遇到其他使用這個函數的場景,將會陸續添加,這裏作為備忘。 javascript數組那

reduce用法

面試題 sum 面試 com 感受 統計 方案 初始 如何 在不增加變量的情況下,統計數組中各元素出現的次數。 ```jsfunction countItem (arr) { // 寫入你的代碼}countItem([‘a‘, ‘b‘, ‘a‘, ‘c‘,

轉載:新手學習用,請博主原諒。(lambda,map,filter,reduce函式的用法

1. lambda()匿名函式 a = lambda x: x*x print a(2) #輸出結果為: #4 `` 關鍵字 lambda 表示匿名函式,冒號前面的 x 表示函式引數 匿名函式有個限制,只能有一個表示式,不用寫 return,返回值就是該表示式的結果。 也可以把匿名函

python中的map()函式和reduce()函式的區別和用法介紹

咱們先從定義上來解釋一下這兩個函式的區別: ①從引數方面來講: map(func, *iterables)包含兩個引數,第一個是引數是一個函式,第二個是序列(列表或元組)。其中,函式(即map的第一個引

es6 reduce用法

一、forEach回撥函式引數,item(陣列元素)、index(序列)、arr(陣列本身)迴圈陣列,無返回值,不改變原陣列不支援return操作輸出,return只用於控制迴圈是否跳出當前迴圈 二、includes判斷陣列是否包含某個元素,不用return,不用回撥函式,返回布林值 三、filter使用

ES6陣列新增方法forEach、map、filter、find、every、some、reduce用法

*ES6語法,Opera 11+    Firefox 3.6+    Safari 5+    Chrome 8+ I   nternet Explorer 9+支援。可以通過babel轉意支援低版本瀏覽器。 forEach() ES6新增的一種迴圈 案例1列印陣

Python 3.x中reduce()函式完整用法

在Python 3.x中,reduce()不再是內建函式,而是移到了標準庫functools中,

python中reduce函式的用法

1.說明 reduce:將一個可以迭代的物件應用到兩個帶有引數的方法上,我們稱這個方法為fun,遍歷這個可迭代的物件,將其中元素依次作為fun的引數,但是這個函式有兩個引數,那些作為引數呢? reduce(fun,sequence[,initial_va

Python3中高階函式lambda,filter,map,reduce,zip的詳細用法

在Python裡有五大高階函式,他們分別是lambda()匿名函式,filter()篩選函式,map()函式,reduce()函式,zip()函式。下面就讓我們來詳細的瞭解一下這五種函式的具體用法吧。 1.lambda()匿名函式 匿名函式lambda:是指一類無需定義識別符號(函式名)的函式或子程式。

JAVA8-LAMBDA中reduce用法

reduce 操作可以實現從Stream中生成一個值,其生成的值不是隨意的,而是根據指定的計算模型。比如,之前提到count、min和max方  法,因為常用而被納入標準庫中。事實上,這些方法都是reduce操作。 reduce方法有三個override的方法: Opt

filter、map、reduce用法

map -c tar code color 簡單的 initial 初始 function filter(function, sequence):對sequence中的item依次執行function(item),將執行結果為True的item組成一個List/String

Reduce 和 Transduce 的含義

span 開發 opera clas 當前 form 基本功 通過 handle 一、reduce 的用法 reduce是一種數組運算,通常用於將數組的所有成員"累積"為一個值。 var arr = [1, 2, 3, 4]; var sum = (a, b) =&g

Mysql的limit用法

blog images 顯示 log cor 用法 .cn alt nbsp limit可以用來顯示從m條記錄開始的n條記錄,具體語句如下: select * from table_test limit 0,10; #顯示從0開始的10條記錄(表中的第一條記錄下標為0

matlab中size函數用法

matlab 元素 size(A)函數是用來求矩陣的大小的。比如說一個A是一個3×4的二維矩陣:1、size(A) %直接顯示出A大小輸出:ans=3 42、s=size(A)%返回一個行向量s,s的第一個元素是矩陣的行數,第二個元素是矩陣的列數輸出:s=3 43、[r,c]=size(A)%將矩陣A

ng-repeat循環遍歷的用法

-i -a 打印 用法 ini in use bin 循環 bsp ng-repeat循環遍歷的用法 <script src="../angular-1.5.5/angular.min.js"></script></head>&l