Функция sum() Python со списком параметров
Мне необходимо использовать функцию sum()
для суммирования значений в списке. Обратите внимание, что это ОТЛИЧНО от использования цикла for
для добавления чисел вручную. Я думал, что это будет что-то вроде следующего, но я получаю TypeError: 'int' object is not callable
.
numbers = [1, 2, 3]
numsum = (sum(numbers))
print(numsum)
Я рассмотрел несколько других решений, которые включали установку параметра запуска, определение карты или включение синтаксиса for
в sum()
, но мне не повезло с этими вариантами, и я не могу понять, что происходит. Может ли кто-нибудь предоставить мне простейший возможный пример sum()
, который подведет итоги списка и объяснит, почему это сделано так, как есть?
Ответы
Ответ 1
Используете ли вы переменную sum
где-либо еще? Это объяснило бы это.
>>> sum = 1
>>> numbers = [1, 2, 3]
>>> numsum = (sum(numbers))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
Имя sum
больше не указывает на функцию, оно указывает на целое число.
Решение: не вызывайте переменную sum
, назовите ее total
или что-то подобное.
Ответ 2
numbers = [1, 2, 3]
numsum = sum(list(numbers))
print(numsum)
Это будет работать, если вы пытаетесь суммировать список.
Ответ 3
В последнем ответе вам не нужно составлять список из чисел; это уже список:
numbers = [1, 2, 3]
numsum = sum(numbers)
print(numsum)