2017-07-08 176 views
-6

一個數組中總結每個元素比方說,我有數組list=[1, 2, 3, 4]打印並在Python

如何得到下面的輸出?

1+2+3+4 = 10 

我知道我可以使用SUM(列表),但我需要印有「+」

+4

發佈您嘗試過的代碼。你應該可以使用循環來完成這個。 – Bert

回答

-1
print('+'.join(mylist) + ' = ' + str(sum(mylist))) 

陣列上的每個項目這應該爲你工作

+0

這給出錯誤'expected str instance,int found',因爲'str.join'不能用在int列表中 –

+0

回答「幫我做作業」的問題對除了學生以外的任何人都沒有幫助然後只是簡要地)。此外,僅有代碼的答案通常沒有幫助(特別是當它們由於TypeError而無法工作時) - 您應該解釋代碼的作用以及原因。 –

1

這是最我能想到的pythonic解決方案;在使用字符串時,請使用字符串格式代替+運算符 - 它更加高效並且是一種很好的習慣,可以使用map將整數重新映射到字符串,並使用str.join高效地創建問題字符串。

numbers = [1, 2, 3, 4] 
print('{} = {}'.format('+'.join(map(str, numbers)), sum(numbers))) 
+1

'(str(數字)爲數字的數字)''可能被'map(str,numbers)'替代' –

+0

好喊@Błotosmętek,我已經編輯了我的答案。 –