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)