[英]How can i sum every number in list with each other in python?
所以,我有一個數字列表:
list = [4,5,65,94,3]
此循環將列表中的第一個數字與列表中的每個數字相加:
for i in list:
sum = i + list[0]
我如何移動到列表中的下一個項目,以便我的循環將列表中的每個數字相互求和?
因此,這里有兩個誤解。
首先,該循環沒有按照您的描述進行。 假設sum
是在其外部定義的,則添加的唯一值將在循環后保留,是列表中的最后一個元素以及列表的第一個位置中的任何元素。 對於您當前的列表,總和為7。
其次,已經有一個方便的功能可以做到這一點- sum
-這將使您的任務變得很簡單。
sum([4,5,65,94,3])
但是,如果您堅持要自己這樣做,則必須設置一些內容:
total = total + i
或total += i
。 for
循環實際上是for-each循環。 i
將通過您的列表,並依次綁定到每個值。 要修復代碼,您需要執行以下操作:
total = 0
li = [4,5,65,94,3]
for i in li:
total += i
最后,請避免遮蓋函數名稱。 list
和sum
已經定義為函數,並且您真的不想掩蓋它們。
不確定您要嘗試什么。 要在python中找到列表的總和,只需執行以下操作:
for i in li:
total += i
您當前正在做的是將每次迭代的總和值更改為等於i加列表的第一個元素。 這將使您的總和在循環結束時等於7,因為它將最后一個元素(3)與第一個元素(4)相加。
另外,python有一個內置函數可以對列表中的數字求和,因此您的代碼可以簡化為:
li = [4,5,65,94,3]
total = sum(li)
編輯:正如其他人指出的那樣,避免將變量命名為與函數相同。
或者,如果您確實想使用索引進行迭代,則可以使用以下范圍函數來實現
對於范圍內的我(len(list)):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.