|
列表解析來(lái)自函數(shù)式編程語(yǔ)言Hskell,可以用于動(dòng)態(tài)的創(chuàng)建列表。 python函數(shù)式編程的特性:lamda, map, filter等。通過(guò)列表解析,他們可以簡(jiǎn)化為一個(gè)列表解析式子, map,所有的列表成員應(yīng)用一個(gè)操作。 filter 基于條件表達(dá)式對(duì)列表進(jìn)行過(guò)濾。 lambda允許創(chuàng)建一行的函數(shù)對(duì)象。 map函數(shù)python實(shí)現(xiàn)代碼: def map(func,seq): mapped_seq = [] for eachItem in seq: mapped_seq.append(func(eachItem)) return mapped_seq filter函數(shù)python代碼實(shí)現(xiàn):
reduce函數(shù),func為二元函數(shù),將func作用于seq序列的元素,每次攜帶一對(duì)(先前的結(jié)果以及下一個(gè)序列的元素),連續(xù)的將現(xiàn)有的結(jié)果和下一個(gè)值作用在獲得的隨后的結(jié)果上,最后減少我們的序列為一個(gè)單一的返回值。 reduct函數(shù)python代碼實(shí)現(xiàn):
下面是測(cè)試的代碼
C:\>python test1.py [2, 3, 4, 5, 6] [2, 4] 15 |
|
|