A-A+
python map reduce学习笔记
【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】
最近在自学PYTHON ,就随手做个笔记吧。。。 也希望同学们好好学习记录。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #!/usr/bin/env python3 # -*- coding: utf-8 -*- from functools import reduce #利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart'] def normalize(): LS = ['adam', 'LISA', 'barT'] def ss(x): return x[:1].upper()+x[1:].lower() print(map(ss, LS)) pass #Python提供的sum()函数可以接受一个list=[3, 5, 7, 9]并求和,请编写一个prod()函数,可以接受一个list并利用reduce()求积 def prod(): def xji(x, y): return x*y llsst = [3, 5, 7, 9] print(reduce(xji, llsst)) pass #利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: def str2float(): str1 = '123.456' def strs(s): return float({'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}[s]) str2 = str1.split('.') def f1(x,y): return x*10+y def f2(x,y): return x/10+y print (reduce(lambda x, y:x*10+y, map(strs, str2[0])) + reduce(f2, map(strs, str2[1])[::-1])/10) pass if __name__=='__main__': normalize() prod() str2float() |
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏