关于reduce的理解

Posted clemente

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于reduce的理解相关的知识,希望对你有一定的参考价值。

什么是reduce

reduce这个词字面上来讲,大多称作“归约”,但这个词太专业了,以至于第一眼看不出来意思。我更倾向于解释为“塌缩”,这样就形象多了。对一个n维的情况进行reduce,就是将执行操作的这个维度“塌缩”。还是上面tf.reduce_sum(a, axis=1)的例子,输出[[ 4, 6], [12, 14]]是二维,显然是被“塌缩”了,塌缩的哪个维度呢?就是被操作的维度,第2个维度,也就是axis=1(0开始索引)。tf.reduce_sum(a, axis=1)具体执行步骤如下:

  1. 找到a中axis=1的元素,也就是[1,2],[3,4],[5,6],[7,8]这4个数组(两两一组,因为前两个和后两个的地位相同)
  2. 在axis=1的维度进行相加也就是[1,2]+[3,4]=[4,6],[5,6]+[7,8]=[12, 14]
  3. “塌缩”这一维度,也就是说“掉一层方括号”,得出[[ 4, 6], [12, 14]]

接下来是一个附加问题:

以上是关于关于reduce的理解的主要内容,如果未能解决你的问题,请参考以下文章

reduce() 有啥问题?

你如何在 swift 中使用 reduce(into:)

js数组高阶方法reduce经典用法代码分享

js数组高阶方法reduce经典用法代码分享

Array.prototype.reduce 的理解与实现

深入理解Python reduce函数