2014-07-02 42 views
-1

我有一個字典如下:如何獲取python中輸出值的總和?

Dictionary = {'a': 1, 'b': 2, 'c': 2, 'd': 5, 'e': 1, 'f': 4, 'g': 1, 'h': 4, 'i': 1, 'j': 8, 'k': 3, 'l': 2, 'm': 3, 'n': 4, 'o': 1, 'p': 3, 'q': 6, 'r': 1, 's': 1, 't': 1, 'u': 7, 'v': 4, 'w': 4, 'x': 5, 'y': 4, 'z': 4 
} 

當一個字給出,我必須計算該字的總價值。

例如,如果這個詞是蘋果,value = (value for a) + (value for p) + (value for p) + (value for l) + (value for e) = 1 + 3 + 3 + 2 + 1 = 10.

到目前爲止,我已經做了以下內容:

for i in range(0,len(word)): 
    Dictionary.get(word[i]) 

這給了我下面的輸出:

1 
3 
3 
2 
1 

所以我的問題是如何添加這些值(每個單詞的輸出)併產生這些值的總和(在本例中爲10,如上所述)?

+1

請修復語法。這有助於提高您的問題的可讀性。 –

+0

'sum(map(Dictionary.get,word))' – falsetru

回答

0

總和將採取迭代:

sum(Dictionary[c] for c in 'apple') 
0
result = 0 
for x in word: 
    result += Dictionary[x] 
print(result) 

然而,Dictionary是一個保留字,所以你應該使用一些其他的變量名。

+1

'Dictionary' is * not * a「reserved word」(內建類型是'dict',雖然不應該被使用以避免陰影)。 – jonrsharpe

+0

爲什麼它以藍色突出顯示? – Reloader

+1

在SO上?因爲它以大寫字母開頭,因此被格式化爲'ClassName'。 – jonrsharpe

相關問題