def normalize(name):
name=name[0].upper()+name[1:].lower()
return name
L1 = ['adam', 'LISA', 'barT']
L2 = list(map(normalize, L1))
print(L2)
#人名
from functools import reduce
def prod(L):
def m(x,y):
return x*y
return reduce(m,L)
#连乘
from functools import reduce
DIGITS={'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
def str2float(s):
def fn(x,y):
return x*10+y
def char2num(s):
return DIGITS[s]
n=s.index('.')
s1=list(map(int,[x for x in s[:n]]))
s2=list(map(int,[x for x in s[n+1:]]))
return reduce(fn, s1)+reduce(fn,s2)/10**len(s2)
#字符转浮点数
今天发现写代码最需要的是想象力,map和reduce函数的意义还是要深入理解一下,思路大方向倒是对的,可是每次都差一点就perfect,笨方法搞起,多敲个几十遍我还就不信了我