2
我在查找有關使用sum從列表中獲取信息時遇到問題。我知道如何使用和使用範圍,例如:使用sum()打印列表中偶數的總和
sum = 0
for i in range(50):
sum=sum + i
print (sum)
但我不能讓我的代碼工作時,我使用這樣的列表爲[1, 2, 6, 7, 8, 10]
和使用sum
取偶數。任何人都可以將我指向正確的方向嗎?
我在查找有關使用sum從列表中獲取信息時遇到問題。我知道如何使用和使用範圍,例如:使用sum()打印列表中偶數的總和
sum = 0
for i in range(50):
sum=sum + i
print (sum)
但我不能讓我的代碼工作時,我使用這樣的列表爲[1, 2, 6, 7, 8, 10]
和使用sum
取偶數。任何人都可以將我指向正確的方向嗎?
可以filter
出奇值:
def is_even(x):
# if the remainder (modulo) is 0 then it's evenly divisible by 2 => even
return x % 2 == 0
def sum_of_evens(it):
return sum(filter(is_even, it))
>>> sum_of_evens([1,2,3,4,5])
6
或者,如果你喜歡一個條件生成器表達式:
>>> lst = [1,2,3,4,5]
>>> sum(item for item in lst if item % 2 == 0)
6
或者明確(長)的辦法:
lst = [1,2,3,4,5]
sum_ = 0
for item in lst:
if item % 2 == 0:
sum_ += item
print(sum_) # 6
我我也是這個網站的新手,所以如果有人可以編輯我的文章將其放入代碼格式,那將不勝感激!謝謝 – Astonishing
你根本沒有使用'sum()',你是* shadowing *帶累加器變量的內置'sum' ... –
不是顯示你知道的代碼,你應該顯示你的代碼有問題;) –