ÔÚ½²Êöfilter£¬mapºÍreduce֮ǰ£¬Ê×ÏȽéÉÜÒ»ÏÂÄäÃûº¯Êýlambda¡£
lambdaµÄʹÓ÷½·¨ÈçÏ£ºlambda [arg1[,arg2,arg3,...,argn]] : expression
ÀýÈ磺
>>> add = lambda x,y : x + y
>>> add(1,2)
3
½ÓÏÂÀ´·Ö±ð½éÉÜfilter£¬mapºÍreduce¡£
1¡¢filter(bool_func,seq)£º´Ëº¯ÊýµÄ¹¦ÄÜÏ൱ÓÚ¹ýÂËÆ÷¡£µ÷ÓÃÒ»¸ö²¼¶ûº¯Êýbool_funcÀ´µü´ú±éÀúÿ¸öseqÖеÄÔªËØ£»·µ»ØÒ»¸öʹbool_seq·µ»ØÖµÎªtrueµÄÔªËØµÄÐòÁС£
ÀýÈ磺
>>> filter(lambda x : x%2 == 0,[1,2,3,4,5])
[2, 4]
filterÄÚ½¨º¯ÊýµÄpythonʵÏÖ£º
>>> def filter(bool_func,seq):
filtered_seq = []
for eachItem in seq:
if bool_func(eachItem):
filtered_seq.append(eachItem)
return filtered_seq
2¡¢map(func,seq1[,seq2...])£º½«º¯Êýfunc×÷ÓÃÓÚ¸ø¶¨ÐòÁеÄÿ¸öÔªËØ£¬²¢ÓÃÒ»¸öÁбíÀ´Ìṩ·µ»ØÖµ£»Èç¹ûfuncΪNone£¬func±íÏÖΪÉí·Ýº¯Êý£¬·µ»ØÒ»¸öº¬ÓÐÿ¸öÐòÁÐÖÐÔªËØ¼¯ºÏµÄn¸öÔª×éµÄÁÐ±í¡£
ÀýÈ磺
>>> map(lambda x : None,[1,2,3,4])
[None, None, None, None]
>>> map(lambda x : x * 2,[1,2,3,4])
[2, 4, 6, 8]
>>> map(lambda x : x * 2,[1,2,3,4,[5,6,7]])
[2, 4, 6, 8, [5, 6, 7, 5, 6, 7]]
>>> map(lambda x : None,[1,2,3,4])
[None, None, None, None]
mapÄÚ½¨º¯ÊýµÄpythonʵÏÖ£º
>>> def map(func,seq):
mapped_seq = []
for eachItem in seq:
mapped_seq.append(func(eachItem))
return mapped_seq
3¡¢reduce(func,seq[,init])£ºfuncΪ¶þÔªº¯Êý£¬½«func×÷ÓÃÓÚseqÐòÁеÄÔªËØ£¬Ã¿´ÎЯ´øÒ»¶Ô£¨ÏÈǰµÄ½á¹ûÒÔ¼°ÏÂÒ»¸öÐòÁеÄÔªËØ£©£¬Á¬ÐøµÄ½«ÏÖÓеĽá¹ûºÍÏÂÒ»¸öÖµ×÷ÓÃÔÚ»ñµÃµÄËæºóµÄ½á¹ûÉÏ£¬×îºó¼õÉÙÎÒÃǵÄÐòÁÐΪһ¸öµ¥Ò»µÄ·µ»ØÖµ£ºÈç¹û³õʼֵinit¸ø¶¨£¬µÚÒ»¸ö±È½Ï»áÊÇinitºÍµÚÒ»¸öÐòÁÐÔªËØ¶ø²»ÊÇÐòÁеÄÍ·Á½¸öÔªËØ¡£
ÀýÈ磺
>>> red
×òÌìÊÔÁËÏÂÓÃHTMLParserÀàÀ´½âÎöÍøÒ³£¬¿É·¢ÏÖ½á¹û²¢²»ÀíÏë¡£²»¹ÜÔõô˵£¬ÏÈдϹý³Ì£¬Ï£ÍûºóÀ´ÈËÄÜÔÚ´Ë»ù´¡ÉϽâ¾öÎÒËùÓöµ½µÄÎÊÌâ¡£
дÁË2Ì×½â¾ö·½°¸£¬µ±È»Õâ2Ì×Ö»ÄܶÔÌØ¶¨ÍøÕ¾ÓÐЧ¡£ÎÒÕâÀïÖ÷Ҫ˵Ã÷϶ÔBBCÖ÷Ò³www.bbc.co.ukºÍ¶ÔÍøÒ×www.163.comµÄ½âÎö¡£
¶ÔÓÚBBC£º
ÕâÌ×Òª¼òµ¥µÃ¶à£¬¿ÉÄÜÊǸÃÍøÒ³µÄ±àÂë±È½Ï±ê×¼°É
import ......
żȻÐèÒªÓõ½ÕâÑùÒ»¸öº¯Êý£¬ÔÚDelphiÖУ¬ÓÐÏֳɵĺ¯Êý¿ÉÒÔµ÷Óã¡ÔÚpythonÖУ¬ÎÒÕÒÁ˰ëÌì¶¼»¹Ã»ÕÒµ½£¬×îºó×Ô¼ºÐ´ÁËÒ»¸öº¯ÊýÈçÏ£º
def dayOfMonth(date):
if date.month == 12:
return 31
else:
return (date.replace(month=date.month+1, day=1) - datetime.timedelta(days=1)).day
......
¼Ìǰƪ¡¶Import Module¡·£¨http://blog.csdn.net/xiadasong007/archive/2009/09/02/4512797.aspx£©£¬¼ÌÐø·ÖÎöǶÈ벿·Ö»ù´¡ÖªÊ¶¡£Õâ´Î²»¶à˵£¬ÓÐʲôÎÊÌâ¼ÇµÃ¶à²éÓ¢ÎÄ×ÊÁÏ£¬¹úÄÚµÄÕâ·½ÃæÖªÊ¶ÉÙ
»¹ÊÇÀ´¿´´úÂ룬дÍêÎÒ¾Í˯¾õÁË~
#include "python/python.h"
#include <iostream>
using namespace std;
int ......