python mapreduce函数_Map-reduce在Python高阶函数中的应用,python,用法,之,mapreduce
map()
函數
接收兩個參數,一個是函數,一個是
Iterable
,
map
將傳入的函數依次作用到序列的每個元素,并把結果作為新的
Iterator
返回。
>>> def f(x):
... return x * x
...
>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> list(r)
[1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
['1', '2', '3', '4', '5', '6', '7', '8', '9']
map()函數能夠簡化編程
reduce()函數
>>> from functools import reduce
>>> def add(x, y):
... return x + y
...
>>> reduce(add, [1, 3, 5, 7, 9])
25
>>> from functools import reduce
>>> def fn(x, y):
... return x * 10 + y
...
>>> def char2num(s):
... digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
... return digits[s]
...
>>> reduce(fn, map(char2num, '13579'))
13579
利用
map
和
reduce
編寫一個
str2float
函數,把字符串
'123.456'
轉換成浮點數
123.456
:
from functools import reduce
def str2float(s):
loc = s.find('.')
s1 = s.replace('.','')
num = reduce(fn, map(char2num, s1))
for n in range(len(s)-loc-1):
num = num/10.0
return num
def char2num(s):
digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
return digits[s]
def fn(x, y):
return x * 10 + y
總結
以上是生活随笔為你收集整理的python mapreduce函数_Map-reduce在Python高阶函数中的应用,python,用法,之,mapreduce的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的xlutils模块_xlu
- 下一篇: rs232 python_利用pytho