【发布时间】:2017-10-05 09:35:38
【问题描述】:
抱歉问了一个愚蠢的问题。
我想总结一个清单。但列表的长度并不总是大于 2
所以reduce 会失败如果len<2
这是我的代码
score = [('xxx', 1), ('yyy', 2)]
if len(score) >=2:
result = reduce((lambda x,y:x[1]+y[1]), score)
elif len(score)==1:
result = score[0]
else:
result = 0
是否可以在列表长度大于 2 时以优雅的方式对数组求和?
【问题讨论】:
-
result = score[0][1] -
reduce 的 lambda 函数没有意义,这对任何长度都不起作用。现在简单的
reduce(lambda total, cur: cur[1]+total, score, 0)会。 -
@Voo 谢谢你教我,这真的很管用。感谢您的帮助~~