2017-05-07 86 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

非常感謝,對不起,一個愚蠢的問題哈哈 –

相關問題