一种更Pythonic的方法来从列表中过滤掉偶数并计算总和?

问题描述 投票:0回答:1

我有一个 Python 数字列表,我正在尝试仅获取奇数的总和。我知道我可以使用 for 循环,但是有没有更 Pythonic 的方法来做到这一点?

这是我到目前为止所掌握的,但似乎有点长

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sum_of_odds = 0
for number in numbers:
    if number % 2 != 0:
        sum_of_odds += number
print(sum_of_odds)
python loops filter sum list-comprehension
1个回答
0
投票

应用简单表达式时,通常使用推导式而不是循环:

sum(n for n in numbers if n % 2 == 1)
© www.soinside.com 2019 - 2024. All rights reserved.