タグ付けされた質問 「reduce」

縮小とは、MapReduce計算の2番目のステップを指します。これは、より大きなスケーラブルで並列化可能なアルゴリズムのコンポーネントです。

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 

6
Python 3でフィルター、マップ、リデュースを使用する方法
filter、map、そしてreduce完全にPythonの2ここでの作業は一例です: >>> def f(x): return x % 2 != 0 and x % 3 != 0 >>> filter(f, range(2, 25)) [5, 7, 11, 13, 17, 19, 23] >>> def cube(x): return x*x*x >>> map(cube, range(1, 11)) [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000] >>> def add(x,y): return …

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 reducePython 3.2 では本当に削除されますか?その場合、代替手段は何ですか?


13
オブジェクトのJavascript reduce()
Array reduce()から1つの値を取得するための素敵な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; }); ただし、Objectにはreduce()メソッドが実装されていないようです。

3
JavaScriptでセットをマップ/縮小/フィルターする方法は?
JavaScriptでmap/ reduce/ filter/ etcを作成する方法はありSetますか、それとも自分で作成する必要がありますか? ここにいくつかの賢明な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) { var …


4
フォールドとリデュースの違いは?
F#を学習しようとしましたが、フォールドとリデュースを区別しようとすると混乱しました。Foldも同じように見えますが、追加のパラメーターを受け取ります。これらの2つの機能が存在する正当な理由はありますか、それとも背景が異なる人々に対応するためにありますか?(例:文字列および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
関数型プログラミングの「fold」関数に相当する「pythonic」とは何ですか?
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の実装である関数を提供しますが、プログラミングの「pythonic」の方法は、lambda項と高次関数を避け、可能な場合はリスト内包を優先することだと言われました。したがって、リスト、またはreduce関数ではないPythonのリストのような構造を折りたたむ好ましい方法はありますか、または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できないと、その逆は? 注:私は両方の方法の使用方法を知っています。これらの方法の主な違いと、いつ使用する必要があるかについて質問しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.