map() 函数对一个list内的每个元素都进行相同的操作(同一个函数),然后把返回值按原来元素的顺序重新生成一个列表。
reduce()接受一个二元函数和一个列表,对列表里每一个元素和下一个元素进行累积运算,即f(f(f(a,b), c), d)这样的累加运算,有的时候很好用。
比如接受一个转换字符串中的小数到float类型的内置函数;(保证输入是一个小数)
1 # -*- coding: utf-8 -*- 2 from functools import reduce 3 4 def str2float(s): 5 mid = s.find(‘.‘) 6 7 flolen = len(s) - mid - 1 8 def toint(x, y): 9 return x * 10 + y 10 def tonum(x): 11 d = {‘0‘:0, ‘1‘:1, ‘2‘:2, ‘3‘:3, ‘4‘:4, ‘5‘:5, ‘6‘:6, ‘7‘:7, ‘8‘:8, ‘9‘:9} 12 return d[x] 13 s1 = map(tonum ,s[0:mid] + s[mid+1 : ]) 14 out = reduce(toint, s1) 15 out /= (10**flolen) 16 return out
原文:https://www.cnblogs.com/zy1120192493/p/12873460.html