学习廖雪峰老师的python之map练习

来源:互联网 发布:股票历史行情数据 编辑:程序博客网 时间:2024/06/05 21:56
practice 1:
利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。# 输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']:def normalize(name):    return name.capitalize()L1 = ['adam', 'LISA', 'barT']L2 = list(map(normalize, L1))print(L2)

practice 2:
# Python提供的sum()函数可以接受一个list并求和,# 请编写一个prod()函数,可以接受一个list并利用reduce()求积:from functools import reducedef prod(L):    def plus(x,y):        return (x*y)    return reduce(plus,L)print('3 * 5 * 7 * 9 =', prod([3, 5, 7, 9]))

practice 3:
#利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:from functools import reducedef str2float(s):    s1,s2=s.split('.',1)    def char2num(s):        return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]    def plus(x,y):        return x*10+y    n1=reduce(plus,map(char2num,s1))    n2=reduce(plus,map(char2num,s2))*(0.1**len(s2))    return n1+n2,type(n1+n2)print('str2float(\'123.456\') =', str2float('123.456'))

0 0
原创粉丝点击