我有一个 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)
应用简单表达式时,通常使用推导式而不是循环:
sum(n for n in numbers if n % 2 == 1)