再看廖雪峯老師的博客時,有這樣的練習,記錄下來,以備像我同樣的自學者參考。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