廖雪峰Python - map/reduce練習
阿新 • • 發佈:2019-01-06
練習
利用map()函式,把使用者輸入的不規範的英文名字,變為首字母大寫,其他小寫的規範名字。輸入:[‘adam’, ‘LISA’, ‘barT’],輸出:[‘Adam’, ‘Lisa’, ‘Bart’]:
def normalize(name): return name.title() # 測試: L1 = ['adam', 'LISA', 'barT'] L2 = list(map(normalize, L1)) print(L2)
Python提供的sum()函式可以接受一個list並求和,請編寫一個prod()函式,可以接受一個list並利用reduce()求積:
from functools import reduce def prod(L): def fn(x, y): return x * y return reduce(fn, L) print('3 * 5 * 7 * 9 =', prod([3, 5, 7, 9]))
利用map和reduce編寫一個str2float函式,把字串’123.456’轉換成浮點數123.456:
from functools import reduce def str2float(s): def str2num_int(s): # 將str轉成int 的函式