python鐨剅educe鍑芥暟鎬庝箞浣跨敤
reduce鍑芥暟鏄疨ython鍐呯疆鐨勪竴涓珮闃跺嚱鏁帮紝瀹冩帴鏀朵竴涓嚱鏁板拰涓€涓彲杩唬瀵硅薄浣滀负鍙傛暟锛岄€氳繃瀵瑰彲杩唬瀵硅薄涓殑鍏冪礌杩涜绱Н鎿嶄綔锛屾渶缁堣繑鍥炰竴涓粨鏋溿€?/p>
浣跨敤reduce鍑芥暟闇€瑕佸厛瀵煎叆functools妯″潡锛岀劧鍚庝娇鐢╢unctools.reduce()鏉ヨ皟鐢ㄣ€?/p>
涓嬮潰鏄痳educe鍑芥暟鐨勫熀鏈娉曪細
reduce(function, iterable[, initializer])
鍏朵腑锛?/p>
-
function锛氳嚜瀹氫箟鍑芥暟锛屾帴鏀朵袱涓弬鏁板苟杩斿洖涓€涓粨鏋溿€?/p>
-
iterable锛氬彲杩唬瀵硅薄锛屽寘鍚杩涜绱Н鎿嶄綔鐨勫厓绱犮€?/p>
-
initializer锛堝彲閫夛級锛氬垵濮嬪€硷紝榛樿涓嶆彁渚涖€傚鏋滄彁渚涗簡鍒濆鍊硷紝鍒欏湪鍙凯浠e璞$殑绗竴涓厓绱犲墠搴旂敤鍒濆鍊煎拰绗竴涓厓绱犱綔涓哄弬鏁颁紶閫掔粰function鍑芥暟銆?/p>
涓嬮潰鏄竴涓畝鍗曠殑渚嬪瓙锛屾紨绀哄浣曚娇鐢╮educe鍑芥暟璁$畻涓€涓垪琛ㄤ腑鎵€鏈夊厓绱犵殑绱姞鍜岋細
from functools import reduce
numbers = [1, 2, 3, 4, 5]
def add(x, y):
return x + y
sum = reduce(add, numbers)
print(sum) # 杈撳嚭15
鍦ㄤ笂闈㈢殑浠g爜涓紝add鍑芥暟鎺ユ敹涓や釜鍙傛暟骞惰繑鍥炲畠浠殑鍜屻€俽educe鍑芥暟灏哸dd鍑芥暟渚濇搴旂敤浜巒umbers鍒楄〃涓殑鍏冪礌锛屾渶缁堣繑鍥炵疮鍔犲拰銆?/p>
闇€瑕佹敞鎰忕殑鏄紝reduce鍑芥暟鍦≒ython 3涓绉诲姩鍒颁簡functools妯″潡锛屾墍浠ラ渶瑕佸鍏unctools妯″潡鎵嶈兘浣跨敤reduce鍑芥暟銆?/p>
相关问答