Reduce通常与map结合使用。例如,谷歌已经开发了一种查询数据库的map-reduce框架,这种map-
reduce模式现在已用于其他几个项目(例如CouchDB,Hadoop等)中。
首先,您需要将
input变量映射
[2, 1, 3, 4, 5]到以下内容:
[(1, 2), (1, 1), (1, 3), (1, 4), (1, 5)]
在这种情况下,
x[0]将代表要获得总和的元素数
x[1]。当然,元素的数量是
1每个单个元素的开头。
然后,接下来是对这些元组进行操作:
reduce( lambda a, b: a if a[1] + b[1] > 8 else (a[0] + b[0], a[1] + b[1]), map(lambda x: (1, x), input))
这将返回
(3, 6),表示部分和
6使用
3元素。
我希望您能将想法归结为map-reduce-algorithms。
问候
克里斯托夫



