ããç®åæ¥è¯´ï¼ç¼ç¨ä¸æå°ç lambda 表达å¼ï¼é常æ¯å¨éè¦ä¸ä¸ªå½æ°ï¼ä½æ¯åä¸æ³è´¹ç¥å»å½åä¸ä¸ªå½æ°çåºåä¸ä½¿ç¨ï¼ä¹å°±æ¯æå¿åå½æ°ãè¿ä¸ç¨æ³è·æè° Î» æ¼ç®ï¼é¢ç®è¯´æéçç»´åºé¾æ¥ï¼çå
³ç³»ï¼æç¹åååå¼¹åè´¨è½æ¹ç¨çå
³ç³»ï¼å·®å«å
¶å®è¿æ¯æºå¤§çã
ä¸è°å½¢å¼åç λ æ¼ç®ï¼åªè¯´æå®é
ç¨éçå¿åå½æ°ãå
举ä¸ä¸ªæ®éç Python ä¾åï¼å°ä¸ä¸ª list éçæ¯ä¸ªå
ç´ é½å¹³æ¹ï¼
map( lambda x: x*x, [y for y in range(10)] )
è¿ä¸ªåæ³è¦å¥½è¿
def sq(x):
return x * x
map(sq, [y for y in range(10)])
ï¼å 为åè
å¤å®ä¹äºä¸ä¸ªï¼æ±¡æç¯å¢çï¼å½æ°ï¼å°¤å
¶å¦æè¿ä¸ªå½æ°åªä¼ä½¿ç¨ä¸æ¬¡çè¯ãèä¸ç¬¬ä¸ç§åæ³å®é
ä¸æ´æ读ï¼å 为é£ä¸ªæ å°å°å表ä¸çå½æ°å
·ä½æ¯è¦åä»ä¹ï¼é常ä¸ç®äºç¶ãå¦æä½ ä»ç»è§å¯èªå·±ç代ç ï¼ä¼åç°è¿ç§åºæ¯å
¶å®å¾å¸¸è§ï¼ä½ å¨æå¤å°±ççåªéè¦ä¸ä¸ªè½åä¸ä»¶äºæ
çå½æ°èå·²ï¼è¿å®å«ä»ä¹ååé½æ å
³ç´§è¦ãLambda 表达å¼å°±å¯ä»¥ç¨æ¥åè¿ä»¶äºã
è¿ä¸æ¥è®²ï¼å¿åå½æ°æ¬è´¨ä¸å°±æ¯ä¸ä¸ªå½æ°ï¼å®ææ½è±¡åºæ¥çä¸è¥¿æ¯ä¸ç»è¿ç®ãè¿æ¯ä»ä¹ææå¢ï¼ç±»æ¯
a = [1, 2, 3]
å
f = lambda x : x + 1
ï¼ä½ ä¼åç°ï¼çå·å³è¾¹çä¸è¥¿å®å
¨å¯ä»¥è±ç¦»çå·å·¦è¾¹çä¸è¥¿èåå¨ï¼çå·å·¦è¾¹çåååªæ¯å³è¾¹ä¹å®ä½çæ è¯ç¬¦ãå¦æä½ è½ä¹ æ¯ [1, 2, 3] åç¬åå¨ï¼é£ä¹ lambda x : x + 1 ä¹è½åç¬åå¨å
¶å®ä¹å°±ä¸é¾ç解äºï¼å®çæä¹å°±æ¯ç»ãæ个æ°å ä¸ãè¿ä¸è¿ç®æ¬èº«ã
ç°å¨å头æ¥ç map() å½æ°ï¼å®å¯ä»¥å°ä¸ä¸ªå½æ°æ å°å°ä¸ä¸ªå¯æ举类åä¸é¢ã沿ç¨ä¸é¢ç»åºç a å fï¼å¯ä»¥åï¼
map(f, a)
ä¹å°±æ¯å°å½æ° f ä¾æ¬¡å¥ç¨å¨ a çæ¯ä¸ä¸ªå
ç´ ä¸é¢ï¼è·å¾ç»æ [2, 3, 4]ãç°å¨ç¨ lambda 表达å¼æ¥æ¿æ¢ fï¼å°±åæï¼
map( lambda x : x + 1, [1, 2, 3] )
ä¼ä¸ä¼è§å¾ç°å¨å¾ä¸ç®äºç¶äºï¼å°¤å
¶æ¯ç±»æ¯
a = [1, 2, 3]
r = []
for each in a:
r.append(each+1)
è¿æ ·çåæ³æ¶ï¼ä½ ä¼åç°èªå·±å¦æè½å°ãéåå表ï¼ç»éå°çæ¯ä¸ªå
ç´ é½åæç§è¿ç®ãçè¿ç¨ä»ä¸ä¸ªå¾ªç¯éæ½è±¡åºæ¥æ为ä¸ä¸ªå½æ° mapï¼ç¶åç¨ lambda 表达å¼å°è¿ç§è¿ç®ä½ä¸ºåæ°ä¼ ç» map çè¯ï¼èèäºæ
çæç»´å±çº§ä¼é«åºä¸äºæ¥ï¼éè¦é¡¾åçç»èä¹å°äºä¸ç¹ãPython ä¹ä¸ï¼ç±»ä¼¼è½ç¨å° lambda 表达å¼çãé«çº§ãå½æ°è¿æ reduceãfilter ççï¼å¾å¤è¯è¨ä¹é½æè¿æ ·çå·¥å
·ï¼ä¸è¿è¿äºç¹æ§æ好ä¸è¦å¨ Python ä¸ç¨å¤ªå¤ãè¿ç§è½å¤æ¥åä¸ä¸ªå½æ°ä½ä¸ºåæ°çå½æ°å«åãé«é¶å½æ°ãï¼higher-order functionï¼ï¼æ¯æ¥èªå½æ°å¼ç¼ç¨ï¼functional programmingï¼çææ³ã
åå
¶ä»å¾å¤è¯è¨ç¸æ¯ï¼Python ç lambda éå¶å¤å¤ï¼æ严éçå½å±å®åªè½ç±ä¸æ¡è¡¨è¾¾å¼ç»æãè¿ä¸ªéå¶ä¸»è¦æ¯ä¸ºäºé²æ¢æ»¥ç¨ï¼å 为å½äººä»¬åè§ lambda å¾æ¹ä¾¿ï¼å°±æ¯è¾å®¹æ滥ç¨ï¼å¯æ¯ç¨å¤äºä¼è®©ç¨åºçèµ·æ¥ä¸é£ä¹æ¸
æ°ï¼æ¯ç«æ¯ä¸ªäººå¯¹äºæ½è±¡å±çº§çå¿è / ç解ç¨åº¦é½ææä¸åã
温馨提示:答案为网友推荐,仅供参考