Python2.0
中的reduce
函數(shù)是一個內(nèi)建函數(shù)骑素,它有兩個參數(shù):第一個參數(shù)是一個只含有兩個參數(shù)的函數(shù)袋哼,第二個參數(shù)是一個序列化的列表冀墨。
reduce
函數(shù)的作用是將列表集合中的前兩個數(shù)據(jù)放入到參數(shù)一的函數(shù)里面進行操作,返回的數(shù)據(jù)再與集合中的第三個數(shù)據(jù)放到函數(shù)中操作涛贯。
def myadd(x,y):
return x+y
sum=reduce(myadd,(1,3,4,5,6))
print sum
運算的過程為:
1,2->myadd()操作诽嘉,返回3
3,4->myadd()操作,返回7
...
當(dāng)然在第一個參數(shù)位置使用lambda的方法弟翘,代碼就更為簡潔了
sum=reduce(lambda x,y:x+y ,(1,3,4,5,6,7))
在Python3.0
之后虫腋,reduce
已經(jīng)不是內(nèi)置函數(shù)了,想要使用稀余,需要導(dǎo)入包:from functools import reduce
range()
函數(shù)是表示范圍的悦冀。
range(0,10)
表示[0,10),默認每次遞加一
range(10,0,-1)
表示[10,0),每次遞減一