å½æ°å¼ç¼ç¨æ¯ä½¿ç¨ä¸ç³»åå½æ°å»è§£å³é®é¢ï¼æç
§ä¸è¬ç¼ç¨æç»´ï¼é¢å¯¹é®é¢æ¶æ们çæèæ¹å¼æ¯âæä¹å¹²âï¼èå½æ°å½æ°å¼ç¼ç¨çæèæ¹å¼æ¯æè¦âå¹²ä»ä¹âã è³äºå½æ°å¼ç¼ç¨çç¹ç¹æä¸æ»ç»ï¼æ们ç´æ¥æ¿ä¾åæ¥ä½ä¼ä»ä¹æ¯å½æ°å¼ç¼ç¨ã
lambda表达å¼ï¼å¿åå½æ°ï¼ï¼
æ®éå½æ°ä¸å¿åå½æ°çå®ä¹æ¹å¼ï¼
#æ®éå½æ°
def add(a,b):
return a + b
print add(2,3)
#å¿åå½æ°
add = lambda a,b : a + b
print add(2,3)
#========è¾åº===========
5
5
ããå¿åå½æ°çå½åè§åï¼ç¨lamdba å
³é®åæ è¯ï¼åå·ï¼ï¼ï¼å·¦ä¾§è¡¨ç¤ºå½æ°æ¥æ¶çåæ°ï¼a,bï¼ ,åå·ï¼ï¼ï¼å³ä¾§è¡¨ç¤ºå½æ°çè¿åå¼ï¼a+bï¼ã
ããå 为lamdbaå¨å建æ¶ä¸éè¦å½åï¼æ以ï¼å«å¿åå½æ°^_^
Mapå½æ°ï¼
计ç®å符串é¿åº¦
abc = ['com','fnng','cnblogs']
for i in range(len(abc)):
print len(abc[i])
#========è¾åº===========
3
4
7
å®ä¹abcå符串æ°ç»ï¼è®¡ç®abcé¿åº¦ç¶å循ç¯è¾åºæ°ç»ä¸æ¯ä¸ªå符串çé¿åº¦ã
æ¥ççmap()å½æ°æ¯å¦ä½æ¥å®ç°è¿ä¸ªè¿ç¨çã
abc_len = map(len,['hao','fnng','cnblogs'])
print abc_len
#========è¾åº===========
[3, 4, 7]
è½ç¶ï¼è¾åºçç»æä¸æ¯ä¸æ ·çï¼ä½å®ä»¬çå½¢å¼ä¸åï¼ç¬¬ä¸ç§æ¯å纯çæ°å¼äºï¼map()å½æ°çè¾åºä»ç¶ä¿æäºæ°ç»çæ ¼å¼ã
大å°å转æ¢ï¼
pythonæä¾æäºï¼upper() å lower() æ¥è½¬æ¢å¤§å°åã
#大å°å转æ¢
ss='hello WORLD!'
print ss.upper() #转æ¢æ大å
print ss.lower() #转æ¢æå°å
#========è¾åº===========
HELLO WORLD!
hello world!
éè¿map()å½æ°è½¬æ¢ï¼
def to_lower(item):
return item.lower()
name = map(to_lower,['cOm','FNng','cnBLoGs'])
print name
#========è¾åº===========
['com', 'fnng', 'cnblogs']
ããè¿ä¸ªä¾åä¸æ们å¯ä»¥çå°ï¼æ们åä¹äºä¸ä¸ªå½æ°toUpperï¼è¿ä¸ªå½æ°æ²¡ææ¹åä¼ è¿æ¥çå¼ï¼åªæ¯æä¼ è¿æ¥çå¼å个ç®åçæä½ï¼ç¶åè¿åãç¶åï¼æ们æå
¶ç¨å¨mapå½æ°ä¸ï¼å°±å¯ä»¥å¾æ¸
æ¥å°æè¿°åºæ们æ³è¦å¹²ä»ä¹ã
åæ¥ççæ®éçæ¹å¼æ¯å¦ä½å®ç°å符串大å°å转æ¢çï¼
abc = ['cOm','FNng','cnBLoGs']
lowname = []
for i in range(len(abc)):
lowname.append(abc[i].lower())
print lowname
#========è¾åº===========
['hao', 'fnng', 'cnblogs']
map()å½æ°å ä¸lambda表达å¼(å¿åå½æ°)å¯ä»¥å®ç°æ´å¼ºå¤§çåè½ã
#æ±å¹³æ¹
#0*0,1*1,2*2,3*3,....8*8
squares = map(lambda x : x*x ,range(9))
print squares
#========è¾åº===========
[0, 1, 4, 9, 16, 25, 36, 49, 64]
Reduceå½æ°ï¼
def add(a,b):
return a+b
add = reduce(add,[2,3,4])
print add
#========è¾åº===========
9
ãã对äºReduceå½æ°æ¯æ¬¡æ¯éè¦å¯¹ä¸¤ä¸ªæ°æ®è¿è¡å¤ççï¼é¦éå2 å3 ï¼éè¿addå½æ°ç¸å ä¹åå¾å°5ï¼æ¥çæ¿5å4 ï¼åç±addå½æ°å¤çï¼æç»å¾å°9 ã
ããå¨åé¢mapå½æ°ä¾åä¸æ们å¯ä»¥çå°ï¼mapå½æ°æ¯æ¯æ¬¡åªå¯¹ä¸ä¸ªæ°æ®è¿è¡å¤çã
ããç¶åï¼æ们åç°éè¿Reduceå½æ°å lambda表达å¼å¼å®ç°é¶ä¹æ¯å¦ä½ç®åï¼
#5é¶ä¹
#5ï¼=1*2*3*4*5
print reduce(lambda x,y: x*y, range(1,6))
#========è¾åº===========
120
ããPythonä¸çé¤äºmapåreduceå¤ï¼è¿æä¸äºå«çå¦filter, find, all, anyçå½æ°åè¾
å©ï¼å
¶å®å½æ°å¼çè¯è¨ä¹æï¼ï¼å¯ä»¥è®©ä½ ç代ç æ´ç®æ´ï¼æ´æ读ã æ们åæ¥çä¸ä¸ªæ¯è¾å¤æçä¾åï¼
#计ç®æ°ç»ä¸æ£æ´æ°çå¼
number =[2, -5, 9, -7, 2, 5, 4, -1, 0, -3, 8]
count = 0
sum = 0
for i in range(len(number)):
if number[i]>0:
count += 1
sum += number[i]
print sum,count
if count>0:
average = sum/count
print average
#========è¾åº===========
30 6
5
å¦æç¨å½æ°å¼ç¼ç¨ï¼è¿ä¸ªä¾åå¯ä»¥åæè¿æ ·ï¼
number =[2, -5, 9, -7, 2, 5, 4, -1, 0, -3, 8]
sum = filter(lambda x: x>0, number)
average = reduce(lambda x,y: x+y, sum)/len(sum)
print average
#========è¾åº===========
5
æåæ们å¯ä»¥çå°ï¼å½æ°å¼ç¼ç¨æå¦ä¸å¥½å¤ï¼
1ï¼ä»£ç æ´ç®åäºã
2ï¼æ°æ®éï¼æä½ï¼è¿åå¼é½æ¾å°äºä¸èµ·ã
3ï¼ä½ å¨è¯»ä»£ç çæ¶åï¼æ²¡æäºå¾ªç¯ä½ï¼äºæ¯å°±å¯ä»¥å°äºäºä¸´æ¶åéï¼ä»¥ååéåæ¥åå»é»è¾ã
4ï¼ä½ ç代ç åæäºå¨æè¿°ä½ è¦å¹²ä»ä¹ï¼èä¸æ¯æä¹å»å¹²ã
温馨提示:答案为网友推荐,仅供参考