reduce
函數如何使用三個參數而不是兩個參數在python3中工作。 因此,對於兩個,使用三個參數減少函數
tup = (1,2,3)
reduce(lambda x, y: x+y, tup)
我得到這一個。這只是總結了tup
中的所有元素。但是,如果你給Reduce函數三個參數是這樣下面,
tup = (1,2,3)
reduce(lambda x, y: x+y, tup, 6)
這將給你的12
值。 我檢查了python3的文檔,它說第三個參數是一個初始值設定項。那就是說,如果沒有插入第三個參數,那麼默認的初始化器是什麼?
好,我似乎明白了! 'next'在這個函數中做了什麼? – chanpkr
@ChanPark:查看['next()'函數文檔](http://docs.python.org/3/library/functions.html#next);從迭代器中檢索下一個值。如果'iterable'是一個元組,那麼這是第一個索引。 –
請注意,實際的reduce函數確實接受'None'作爲第三個參數。 – georg