首页 > 其他 > 详细

map() and reduce()

时间:2020-05-12 09:17:29      阅读:43      评论:0      收藏:0      [点我收藏+]

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

 

map() and reduce()

原文:https://www.cnblogs.com/zy1120192493/p/12873460.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!