Вычисление суммы элементов списка — одна из самых частых операций в Python. На первый взгляд всё просто, но на практике есть особенности, которые могут привести к ошибкам или неэффективному коду. Рассмотрим все популярные способы, их особенности и скрытые сюрпризы. Самый простой способ, который следует использовать в большинстве случаев: numbers = [1, 2, 3, 4, 5] total = sum(numbers) print(total) # 15 Функция sum() принимает два аргумента: sum(numbers, 10) # 25 (10 + 15) sum() не работает с нечисловыми типами: items = ['a', 'b', 'c'] total = sum(items) # TypeError: unsupported operand type(s) for +: 'int' and 'str' Классический способ из других языков: Никогда не изменяйте список, по которому проходите в цикле: from functools import reduce numbers = [1, 2, 3, 4] total = reduce(lambda x, y: x + y, numbers) reduce() без начального значения вызовет ошибку на пустом списке: reduce(lambda x, y: x + y, []) # TypeError: reduce() of empty sequence with no initial value Решение: Всегда переда
Сумма элементов списка в Python: способы, особенности и подводные камни
СегодняСегодня
9
3 мин