Функция 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)