小编Ama*_*ogi的帖子

python 是否有一个可以访问当前项目索引的reduce 函数?

function namesScores(arr) {
  // Good luck!
  arr.sort();
  return arr.reduce((acc, v, i) => acc + wordWorth(v) * (i + 1), 0);
}
Run Code Online (Sandbox Code Playgroud)

在上面用 javascript 编写的代码中,我赋予reduce 函数的可调用函数使用三个参数accumulator、currentItem、currentIndex。

from functools import reduce

def nameScores(arr):
    arr.sort()
    return reduce(lambda acc, v, i: acc + wordWorth(v) * (i + 1), arr, 0)

Run Code Online (Sandbox Code Playgroud)

在用 python 编写相同的代码时,我收到一个错误:

Traceback (most recent call last):
  File "/home/cyogian/practicePython/ProjectEuler/p022/p022.py", line 22, in <module>
    print(nameScores(test1))
  File "/home/cyogian/practicePython/ProjectEuler/p022/p022.py", line 18, in nameScores
    return reduce(lambda acc, v, i: acc + wordWorth(v) * (i + 1), arr, …
Run Code Online (Sandbox Code Playgroud)

python reduce

5
推荐指数
1
解决办法
1478
查看次数

标签 统计

python ×1

reduce ×1