from functools import reduce
#--------------创建大小写转换字典开始
A = [chr(x) for x in range(65,91)] #创建A到Z的编码并用chr转换成字符串
a = [chr(y) for y in range(97,123)] #创建a到z的编码并用chr转换成字符串
d = {}
D = {}
n = 0
while n < 26 :
d[A[n]] = a[n] #大写转小写字典
D[a[n]] = A[n] #小写转大写字典
n = n + 1
#--------------创建大小写转换字典结束
def normalize(name):
def mylower(name): #大写转小写
if name in d:
return d[name]
return name
def myupper(name): #小写转大写
if name in D:
return D[name]
return name
def myxy(x,y):
return x+y
return myupper(name[0]) + reduce(myxy,map(mylower,name[1:])) #第一个字母转大写,其余的转小写。
L1 = ['adam', 'LISA', 'barT']
L2 = list(map(normalize, L1))
print(L2)
与非----
由于课程中只提到过大写转小写的函数,没有提到小写转大写的函数。所以我自己创建了一个函数用来转换大小写。