map()是 Python 內(nèi)置的高階函數(shù),它接收一個函數(shù) f 和一個 list,并通過把函數(shù) f依次作用在list的每個元素上,map()函數(shù)會返回一個迭代器,可以依次迭代得到原來list的元素被函數(shù)f處理后的結(jié)果。
?>>> map(f, list)
例如,對于list [1, 2, 3, 4, 5, 6, 7, 8, 9]。
如果希望把list的每個元素都作平方,就可以利用map()函數(shù)。
我們定義需要傳入函數(shù)f(x)=x*x,就可以利用map()函數(shù)完成這個計算:
def f(x): return x*x for item in map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]): print(item)
得到結(jié)果:
[1, 4, 9, 10, 25, 36, 49, 64, 81]
由于list包含的元素可以是任何類型,因此,map() 不僅僅可以處理只包含數(shù)值的 list,事實上它可以處理包含任意類型的 list,只要傳入的函數(shù)f可以處理這種數(shù)據(jù)類型。
假設(shè)用戶輸入的英文名字不規(guī)范,沒有按照首字母大寫,后續(xù)字母小寫的規(guī)則,請利用map()函數(shù),把一個list(包含若干不規(guī)范的英文名字)變成一個包含規(guī)范英文名字的list:
輸入:['alice', 'BOB', 'CanDY']
輸出:['Alice', 'Bob', 'Candy']
參考答案:
def format_name(s): return s[0].upper() + s[1:].lower() for item in map(format_name, ['alice', 'BOB', 'CanDY']): print(item)
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報