簡體   English   中英

Python。 如何總結列表中的所有偶數?

[英]Python. How to sum up all even integers in a list?

我對這個主題完全陌生,我想問一下如何總結列表中的所有偶數(不使用函數(我還沒有研究過它們))? 例如:

myList = [1, 3, 5, 6, 8, 10, 34, 2, 0, 3]

我創建 for 循環

for i in myList:
  if x % 2 ==0:
  # I'm stuck here

如何存儲這些值來計算總和?

使用生成器表達式:

>>> myList = [1, 3, 5, 6, 8, 10, 34, 2, 0, 3]
>>> sum(num for num in myList if not num%2)
60

使用filter()

>>> myList = [1, 3, 5, 6, 8, 10, 34, 2, 0, 3]
>>> sum(filter(lambda x: not x%2, myList))
60

使用手動循環:

>>> myList = [1, 3, 5, 6, 8, 10, 34, 2, 0, 3]
>>> result = 0
>>> for item in myList:
...     if not item%2:
...             result += item
...
>>> result
60

對不起,我只是不得不打高爾夫球。 也許它會教某人~ 運算符

>>> myList = [1, 3, 5, 6, 8, 10, 34, 2, 0, 3]
>>> sum(~i%2*i for i in myList)
60

找到另一個長度相同的:

>>> sum(i&~i%-2for i in myList)
60

您需要將結果存儲在變量中並將偶數添加到變量中,如下所示:

>>> myList = [1, 3, 5, 6, 8, 10, 34, 2, 0, 3]
>>> result = 0  # Initialize your results variable.
>>> for i in myList:  # Loop through each element of the list.
...   if not i % 2:  # Test for even numbers.
...     result += i
... 
>>> print(result)
60
>>> 

您可以像這樣過濾掉所有非偶數元素

my_list = [1, 3, 5, 6, 8, 10, 34, 2, 0, 3]
even_list = filter(lambda x: x%2 == 0, my_list)

然后像這樣總結輸出:

sum(even_list)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM