利用map
和reduce
編寫乙個str2float
函式,把字串'123.456'
轉換成浮點數123.456
:
第一次接觸map和reduce,不太了解此**的實現,參考了網上大神的講解
1.新函式的用法index(),表示獲取制定字元在字串中的位置
2.**表示次方
>>> from functools import reduce
>>> def str2float(s):
def multiple(x, y):
return x * 10 + y
id = s.index('.')
l1 = list(map(int, [x for x in s[:id]]))
l2 = list(map(int, [x for x in s[id+1:]]))
return reduce(multiple, l1) + reduce(multiple, l2)/10**len(l2)
>>> print(str2float('123.45'))
輸出:123.45 高階函式 map,reduce
map func,iterables map是內建函式,不需要匯入模組 func表示函式名,該函式必須是得傳入乙個引數,還必須有返回值 iterables表示可迭代物件 即含多個元素,如 列表,元組,字典,集合,字串等 作用 對迭代物件中每乙個元素進行func函式,並返回新結果封裝成物件,map返回...
高階函式,map reduce
1.變數可以指向函式 abs 10 是函式呼叫,而abs是函式本身 要獲得函式呼叫結果,我們可以把結果賦值給變數 x abs 10 print x 10如果乙個變數指向了乙個函式,f abs print f 10 10說明變數f現在已經指向了abs函式本身。直接呼叫abs 函式和呼叫變數f 完全相同...
高階函式 map reduce
map 變數獨立執行 舉例說明,比如我們有乙個函式f x x2,要把這個函式作用在乙個陣列 1,2,3,4,5,6,7,8,9 上,就可以用map實現如下 arr.map f x 意思為將arr執行f x 返回結果,但不改變原陣列值 reduce 變數套用執行 這個函式必須接收兩個引數,reduce...