我能够使用map并sum实现此功能,但如何使用reduce?
有 2 个列表:a, b,它们具有相同数量的值。我要计算
a[0]*b[0]+a[1]*b[1]+...+a[n]*b[n]
我使用的工作版本map是
value = sum(map(lambda (x,y): x*y, zip(a, b)))
那怎么用reduce呢?我写:
value = reduce(lambda (x,y): x[0]*y[0] + x[1]*y[1], zip(a, b)))
我得到了错误“ TypeError: 'float' object is unsubscriptable”。
任何人都可以对此有所了解吗?