再看廖雪峰老师的博客时,有这样的练习,记录下来,以备像我同样的自学者参考。python
题目:api
利用map()
函数,把用户输入的不规范的英文名字,变为首字母大写,其余小写的规范名字。输入:['adam', 'LISA', 'barT']
,输出:['Adam', 'Lisa', 'Bart']
函数
答案:code
def normalize(name): return name.capitalize() L1=['adam','LISA','barT'] L2=list(map(normalize,L1)) print(L2)
结果:orm
['Adam', 'Lisa', 'Bart']
这里用到了一个Python内置函数 capitalize() ,它的做用就是把字符串的首字母大写,其他小写。字符串
我本身想的另外一个方法:博客
def normalize(name): return name[0].upper()+name[1:].lower() L1=['adam','LISA','barT'] L2=list(map(normalize,L1)) print(L2)
这地方比较绕弯的是,L2=list(map(normalize,L1)) 这里给normalize 函数传值的时候,传的是L1的元素,也就是adam 等值,由于字符串自己就是个序列,可迭代。因此 当 name = adam 时,name[0] 就是 a 啦。后面以此类推。it
map函数至关于自带了一个循环,能够把L1内的元素,挨个的放到normalize 函数里运行。class