Questions tagged «reduce»

Reduce是MapReduce计算中的第二步,它是较大的可伸缩,可并行化算法的组成部分。

22
查找列表的平均值
我必须在Python中找到列表的平均值。到目前为止,这是我的代码 l = [15, 18, 2, 36, 12, 78, 5, 6, 9] print reduce(lambda x, y: x + y, l) 我已经知道了,所以它可以将列表中的值加在一起,但是我不知道如何将其划分为它们?
473 python  list  lambda  average  reduce 


15
Javascript减少对象数组
说我想对a.x中的每个元素求和arr。 arr = [{x:1},{x:2},{x:4}] arr.reduce(function(a,b){return a.x + b.x}) >> NaN 我有理由相信斧头在某些时候是不确定的。 以下工作正常 arr = [1,2,4] arr.reduce(function(a,b){return a + b}) >> 7 我在第一个示例中做错了什么?

4
NameError:名称“ reduce”未在Python中定义
我正在使用Python 3.2。试过这个: xor = lambda x,y: (x+y)%2 l = reduce(xor, [1,2,3,4]) 并得到以下错误: l = reduce(xor, [1,2,3,4]) NameError: name 'reduce' is not defined 尝试打印reduce到交互式控制台中-出现此错误: NameError: name 'reduce' is not defined 是reduce在Python 3.2中真正删除的吗?如果是这样,还有什么选择?


13
javascript对对象的reduce()
有一个很好的Array方法reduce()可以从Array中获取一个值。例: [0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){ return previousValue + currentValue; }); 用对象达到相同目的的最佳方法是什么?我想这样做: { a: {value:1}, b: {value:2}, c: {value:3} }.reduce(function(previous, current, index, array){ return previous.value + current.value; }); 但是,对象似乎没有reduce()实现任何方法。

3
如何在JavaScript中映射/减少/过滤Set?
有没有什么办法map/ reduce/ filter的/ etc Set中的JavaScript或者我会写我自己? 这是一些明智的Set.prototype扩展 Set.prototype.map = function map(f) { var newSet = new Set(); for (var v of this.values()) newSet.add(f(v)); return newSet; }; Set.prototype.reduce = function(f,initial) { var result = initial; for (var v of this) result = f(result, v); return result; }; Set.prototype.filter = function filter(f) { …


4
折叠和缩小之间的区别?
尝试学习F#,但在区分折叠和缩小时感到困惑。折叠似乎做同样的事情,但是需要一个额外的参数。是否存在这两个功能存在的正当理由,或者它们存在以容纳不同背景的人?(例如:字符串和C#中的字符串) 这是从样本复制的代码片段: let sumAList list = List.reduce (fun acc elem -> acc + elem) list let sumAFoldingList list = List.fold (fun acc elem -> acc + elem) 0 list printfn "Are these two the same? %A " (sumAList [2; 4; 10] = sumAFoldingList [2; 4; 10])

9
函数式编程中的“ pythonic”等同于“ fold”函数是什么?
在Haskell中,实现以下目标的最惯用的方法是: foldl (+) 0 [1,2,3,4,5] --> 15 或等效的Ruby: [1,2,3,4,5].inject(0) {|m,x| m + x} #> 15 显然,Python提供了reduce与fold完全相同的功能,但实际上是如上所述的fold的实现,但是,有人告诉我,“ pythonic”编程方式是避免使用lambda术语和高阶函数,并尽可能使用列表理解。因此,有没有一种首选的方式来折叠列表或不是Python reduce函数的类似列表的结构,或者是reduce惯用的方式来实现此目的?



2
“折叠” LINQ扩展方法在哪里?
我在MSDN的Linq样本中发现了一个我想使用的名为Fold()的整洁方法。他们的例子: double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 }; double product = doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor); 不幸的是,无论是在示例中还是在我自己的代码中,我都无法对此进行编译,并且在MSDN中找不到其他提及此方法的地方(例如Enumerable或Array扩展方法)。我得到的错误是一个普通的旧“不知道该错误”错误: error CS1061: 'System.Array' does not contain a definition for 'Fold' and no extension method 'Fold' accepting a first argument of type 'System.Array' could be found (are you missing a …

12
如何提早打破reduce()方法?
如何中断reduce()方法的迭代? for: for (var i = Things.length - 1; i >= 0; i--) { if(Things[i] <= 0){ break; } }; reduce() Things.reduce(function(memo, current){ if(current <= 0){ //break ??? //return; <-- this will return undefined to memo, which is not what I want } }, 0)

6
map和reduce的主要区别
我使用了这两种方法,但是对于这两种方法的使用我很困惑。 有什么map可以做但不能做的reduce,反之亦然? 注意:我知道如何使用这两种方法,我在质疑这些方法与何时需要使用它们之间的主要区别。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.