【问题标题】:python sum a array which length is arbitrarypython求和一个长度是任意的数组
【发布时间】: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 谢谢你教我,这真的很管用。感谢您的帮助~~

标签: python arrays sum reduce


【解决方案1】:

sum

result = sum(s[1] for s in score)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2013-10-06
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    相关资源
    最近更新 更多