2017-05-07 42 views
-1

对不起,一个愚蠢的问题。
我想总结一个列表。但名单的长度并不总是大于2
所以reduce会失败,如果len<2python总结一个长度是任意的数组

这是我的代码

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优雅的方式?

+1

'结果=得分[0] [1]' – JJJ

+0

,对于减少lambda函数没有任何意义,这将不是为任何长度工作。现在简单的'reduce(lambda total,cur:cur [1] + total,score,0)'会。 – Voo

+0

@Voo感谢教我,这真的很有用。感谢您的帮助~~ –

回答

5

sum

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

非常感谢,对不起,一个愚蠢的问题哈哈 –

相关问题