Sum python что это
Python sum | python sum list | sum() Функция в Python
Функция Python sum() используется для суммирования или добавления элементов итератора от начала до конца итерации. Обычно он используется только с числами.
Python sum | python sum list | sum() Функция в Python
В этом посте мы увидим о функции Python sum (). Функция Pythonsum () используется для суммирования или добавления элементов итератора от начала до конца итерации. Обычно он используется только с числами.
Вступление
Python 3 поставляется со многими встроенными функциями, которые вы можете легко использовать в любой программе, над которой работаете. Некоторые функции позволяют преобразовывать типы данных, а другие специфичны для определенного типа, например строки.
Функция sum() возвращает число, сумму всех элементов в итерационной функции.
Синтаксис суммы
Параметры
iterable: iterable может быть любым списком, кортежами или словарями, но самое главное, это должно быть число. start: [необязательно] этот старт добавляется к сумме чисел в iterable. Если start не задан в синтаксисе, то предполагается, что он равен 0.
Примечание: Здесь итерируемый, возможно, список Python, кортеж, набор или словарь.
Какая функция sum возвращает в Python
Функция sum возвращает
Временная сложность суммы()
Временная сложность Python sum() зависит от вашей структуры данных. Для плоского списка dict вы не можете сделать лучше, чем O(n), потому что вам нужно посмотреть на каждый элемент в списке, чтобы сложить их.
Python программа для вычисления суммы элементов в списке
Сумма списка Python
Чтобы добавить все элементы списка, решение состоит в том, чтобы использовать встроенную функцию sum (), иллюстрацию:
Программа Python для суммирования списка с помощью start 10
Программа для суммирования списка float
Python Программа для суммирования списка float с start 10.1
Программа для вычисления суммы элементов в кортеже
Пример 1: Добавление всех элементов в кортеж и возврат результата
Пример 1: Начиная с 10 и добавляя все элементы кортежа к этому числу:
Python Программа для вычисления суммы комплексных чисел
Функция In sum() также работает с комплексными числами.
Программа для вычисления суммы множеств
Функция sum() работает с href=»https://docs.python.org/3/library/stdtypes.html»>set тоже. href=»https://docs.python.org/3/library/stdtypes.html»>set тоже.
Программа Python для использования функции sum в словаре
В случае со словарем Python ключ к словарю будет добавлен. Результатом будет сумма всех ключей словаря.
Видите ли, значения словаря сильны, но здесь это не имеет значения, потому что мы будем добавлять ключи, а не значения.
Работа функции sum() в списке «строк»:
Примечание: в случае списка строк функция sum() не работает.
Также Читайте:
Python Удалить дубликаты Из спискаPython Print Without NewlineLearn Python the Hard Way Review PDFHow to Get a Data Science Internship With No ExperiencePython Map
Альтернатива некоторых
Для некоторых случаев использования есть хорошие альтернативы sum(). Предпочтительным и быстрым способом объединения последовательности строк является вызов » «.join(sequence). Чтобы добавить значения с плавающей запятой с расширенной точностью, см. math.fsum(). Чтобы объединить серию итераций, рассмотрите возможность использования функции itertools.chain().
Вывод
Поэтому в этом уроке мы постарались охватить все детали и примеры функции Python sum. Но все же, если у вас есть какие-либо вопросы и предложения, прокомментируйте их ниже.
Список Python Sum () – простое иллюстрированное руководство
Суммируя список чисел появляется везде в кодировке. К счастью, Python предоставляет функцию встроенной суммы () для суммирования всех элементов в списке Python — или в любом другом, имеющем в этом вопросе. (Официальные документы) Синтаксис представляет собой сумму (потенциал): ArgumentDescrieTriciTerableSUM по всем элементам в утечке. Это может быть список, кортеж, комплект, … Список Python Sum () – простая иллюстрированная руководство Подробнее »
Суммируя список чисел появляется везде в кодировке. К счастью, Python предоставляет встроенный сумма () Функция для суммирования всех элементов в списке Python – или любой другой, что это имеется в этом вопросе. (Официальные документы)
Синтаксис есть Сумма (считать, что) :
считать | Сумма над всеми элементами в утечке. Это может быть список, кортеж, набор или любая другая структура данных, которая позволяет вам повторять элементы. Пример: сумма ([1, 2, 3]) возвращает. |
Начало | (Необязательно.) Значение запуска по умолчанию равно 0. Если вы определите другое значение Start, сумма всех значений в Iterable будет добавлена к этому значению. Пример: сумма ([1, 2, 3], 9) возврата. |
Проверьте вебинар Python Freelancer и KickStart вашу кодирующую карьеру!
Код : Давайте проверим практический пример!
Упражнение : Попробуйте изменить последовательность, чтобы сумма была 30 в нашей интерактивной оболочке Python:
Давайте рассмотрим некоторые важные детали относительно сумма () Функция в Python.
Ошибки
Ряд ошибок может произойти, если вы используете сумма () Функция в Python.
Типеррор : Python бросит в систему, если вы попытаетесь суммировать над элементами, которые не являются численными. Вот пример:
Если вы запустите этот код, вы получите следующее сообщение об ошибке:
Python пытается выполнить конконтрацию строки с использованием значения запуска по умолчанию 0 (целое число). Конечно, это терпит неудачу. Решение простое: сумма только над численными значениями в списке.
Если вы попытаетесь «взломать» Python, используя пустую строку в качестве начального значения, вы получите следующее исключение:
Вы можете избавиться от всех этих ошибок, суммируя только численные элементы в списке.
(Для получения дополнительной информации о методе join (), проверьте эту статью в блоге.)
Сложность списков Sum Python
Список строк Python Sum
Решение : Используйте Присоединяйтесь () Способ строк Python в объединять все строки в списке. сумма () Функция работает только на численных входных данных.
Код : В следующем примере показано, как «суммировать» UP (I.E., ConcateNate) все элементы в данном списке строк.
Список списков Sum Python
Проблема : Как вы можете суммировать список списков, таких как [[1, 2], [3, 4], [5, 6]] в Python?
Решение : Используйте простой для цикла с помощью помощника переменной для объединения всех списков.
Код : Следующий код объединяет все списки в один список.
продлить () Метод немного известен в Python – но очень эффективен, чтобы добавить ряд элементов в список Python сразу. Проверьте мой подробный учебник по этому блюду Finxter.
Список Sum Python пока цикла
Проблема : Как вы можете получить сумму на все элементы списка, используя цикл While (без Sum () )?
Решение : Создайте переменную агрегацию и итеративно добавить другой элемент из списка.
Код : Следующий код показывает, как суммировать все численные значения в списке Python без использования сумма () функция.
Это не самый красивый способ, но это читается, и он работает (и, и, вы не хотели использовать Sum () Функция, верно?).
Список суммирования Python для петли
Проблема : Как вы можете суммировать над всеми элементами списка, используя петлю для цикла (без Sum () )?
Решение : Создайте переменную агрегацию и итеративно добавить другой элемент из списка.
Код : Следующий код показывает, как суммировать все численные значения в списке Python без использования сумма () функция.
Это немного более читаемое, чем предыдущая версия с циклом, потому что вам не нужно отслеживать текущий индекс.
Список суммирования Python с пониманием списка
Понимание списка является мощным функциями Python, которая позволяет создать новый список на основе существующего намерения. Можете ли вы суммировать все значения в списке, используя только понимание списка?
Ответ – нет. Почему? Потому что понимание списка существует для создания нового списка. Суммирующие значения не о создании нового списка. Вы хотите избавиться от списка и объединять все значения в списке в одну численную «сумму».
СПИСОК PYTHON SUM TRESTE
Проблема : Как подвести список кортежей, элемент-мудрый?
Пример : Скажи, у тебя есть список [(1, 1), (2, 0), (0, 3)] И вы хотите подвести итоги первого и второго ценностей кортежей для получения «суммированного кортежа» (1 + 2 + 0, 1 + 0 + 3) = (3, 4) Отказ
Решение : Распакуйте кортежи в функцию ZIP, чтобы объединить первое и второе ценности кортежных корпусов. Затем суммируйте эти ценности отдельно. Вот код:
Нужен переподготовка zip () Функция и распаковка? Проверьте эти статьи на блог Finxter:
Список списка Python Sum
Проблема : Учитывая список. Суммируйте ломтик исходного списка между началом и показателями шагов (и при условии, что данный размер шага также).
Решение : Используйте Slicing, чтобы получить доступ к списку. Затем нанесите функцию суммы () на результате.
Код : Следующий код вычисляет сумму данного ломтика.
Давайте рассмотрим интересную проблему: суммировать условно!
Состояние списка Sum Python
Проблема : Preen это список. Как суммировать все значения, которые соответствуют определенному условию?
Пример : Скажи, у вас есть список lst = [5, 8, 12, 2, 1, 3] И вы хотите суммировать все значения, которые больше 4.
Решение : Используйте понимание списка для фильтрации списка так, чтобы только элементы, которые удовлетворяют условию. Тогда используйте сумма () функция, чтобы суммировать остальные значения.
Код Следующие суммы кода по всем значениям, которые удовлетворяют определенному условию (например, X> 4 ).
Нужно повысить понимание списка? Проверьте мой углубленный учебник в блоге Finxter.
Список SUM Python игнорируйте
Пример : Скажи, у вас есть список lst = [5, нет, нет, 8, 12, нет, 2, 1, нет, 3] и вы хотите суммировать все значения, которые не являются Нет Отказ
Решение : Используйте понимание списка для фильтрации списка так, чтобы оставаться только элементы, которые удовлетворяют условию (которые отличаются от None ). Видите ли, это особый случай предыдущего абзаца, который проверяет общее состояние. Тогда используйте сумма () функция, чтобы суммировать остальные значения.
Код : Следующие суммы кода по всем значениям, которые не являются Нет Отказ
Подобное можно сделать со значением Нан Это может нарушить ваш результат, если вы не осторожны.
Список суммирования Python игнорировать NAN
Пример : Скажи, у вас есть список lst = [1, 2, 3, float («NAN»), float («NAN»), 4] и вы хотите суммировать все значения, которые не являются Нан Отказ
Решение : Используйте понимание списка для фильтрации списка, чтобы оставаться только элементами, которые удовлетворяют условию (отличаются от NAN ). Видите ли, это особый случай предыдущего абзаца, который проверяет общее состояние. Тогда используйте сумма () функция, чтобы суммировать остальные значения.
Код : Следующие суммы кода по всем значениям, которые не являются Нан Отказ
Фу! Совсем некоторые вещи. Спасибо, что прочитали всю эту статью! Я надеюсь, что вы узнали что-то из этого урока и остаемся следующей рекомендацией:
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.
Функции списков Python
В предыдущей статье мы рассмотрели методы списков Python. В этой статье мы рассмотрим основные функции для работы со списками в Python.
Функции агрегации
len(sequence)
Возвращает количество элементов (длину) объекта-контейнера.
Параметры:
sequence — последовательность (строка, байты, кортеж, список, диапазон) или коллекция (словарь, множество, неизменяемое множество).
Возвращаемое значение:
Количество элементов объекта.
Примечание:
Примеры:
[] length is 0
[1, 2, 3] length is 3
(1, 2, 3) length is 3
Length of range(1, 10) is 9
Пример 2: Определение метода __len__() в классе.
Возвращает наибольший элемент итерируемого объекта. Также можно использовать для поиска наибольшего элемента между двумя или более аргументами. Если сразу несколько элементов имеют максимальное значение, то функция возвращает первый найденный элемент.
Параметры:
max(iterable, *iterables, key, default)
iterable — итерируемый объект (список, кортеж, множество, словарь и т. д.).
*iterables — любое количество итерируемых объектов; может быть больше, чем один. Необязательный аргумент.
key – функция, в которую передается каждый аргумент; сравнение выполняется на основе возвращаемого значения. Необязательный аргумент.
max(arg1, arg2, *args, key)
arg1 — объект (число, строка и т. д.).
arg2 — объект (число, строка и т. д.).
*args — любое количество объектов. Необязательный аргумент.
key — функция, в которую передается каждый аргумент; сравнение выполняется на основе возвращаемого значения. Необязательный аргумент.
Возвращаемое значение:
Примеры:
Пример 1: Получение наибольшего элемента списка.
Пример 2: Получение наибольшего элемента списка строк.
Возвращает наименьший элемент итерируемого объекта. Также можно использовать для поиска наименьшего элемента между двумя или более аргументами. Если сразу несколько элементов имеют минимальное значение, то функция возвращает первый найденный элемент.
Параметры:
min(iterable, *iterables, key, default)
iterable — итерируемый объект (список, кортеж, множество, словарь и т. д.).
*iterables — любое количество итерируемых объектов; может быть больше, чем один. Необязательный аргумент.
key – функция, в которую передается каждый аргумент; сравнение выполняется на основе возвращаемого значения. Необязательный аргумент.
min(arg1, arg2, *args, key)
arg1 — объект (число, строка и т. д.).
arg2 — объект (число, строка и т. д.).
*args — любое количество объектов. Необязательный аргумент.
key — функция, в которую передается каждый аргумент; сравнение выполняется на основе возвращаемого значения. Необязательный аргумент.
Возвращаемое значение:
Примеры:
Пример 1: Получение наименьшего элемента списка.
Пример 2: Получение наименьшего элемента списка строк.
sum(iterable[, start])
Суммирует элементы итерируемого объекта и возвращает результат.
Параметры:
iterable — итерируемый объект (список, кортеж, словарь и т. д.). Элементы итерируемого объекта должны быть числами. Если итерируемый объект пуст, то функция вернёт начальное значение ( start ).
start — число, к которому добавляется сумма элементов указанного итерируемого объекта. Необязательный аргумент, по умолчанию равен нулю.
Возвращаемое значение:
Сумма элементов итерируемого объекта [с начальным значением ( start )].
Примечание:
Примеры:
Функции проверки элементов списка на выполнение условия
any(iterable)
Параметры:
iterable — итерируемый объект (список, строка, словарь, кортеж, множество и так далее).
Возвращаемое значение:
Возвращает булево значение:
Возвращаемое значение
Все значения равны True
Все значения равны False
Одно значение равно True (остальные — False)
Одно значение равно False (остальные — True)
Итерируемый объект пуст
Примеры:
all(iterable)
Параметры:
iterable — итерируемый объект (список, строка, словарь, кортеж, множество и так далее).
Возвращаемое значение:
Возвращает булево значение:
Возвращаемое значение
Все значения равны True
Все значения равны False
Одно значение равно True (остальные — False)
Одно значение равно False (остальные — True)
Итерируемый объект пуст
Примеры:
Функции преобразования типов
bool([value])
Преобразует значение к булевому типу ( True или False ), используя стандартную процедуру проверки истинности.
Параметры:
value — значение, которое надо преобразовать.
Возвращаемое значение:
Возвращает булево значение:
Следующие значения считаются False в Python:
Все остальные значения считаются истинными ( True ).
Примеры:
list([iterable])
Параметры:
iterable — объект, который может быть последовательностью (строка, кортеж) или коллекцией (множество, словарь), или любым итерируемым объектом. Необязательный аргумент.
Возвращаемое значение:
Примеры:
Пример 1: Создание списков из строки, кортежа и списка.
Пример 2: Создание списков из множества и словаря.
Прохождение по списку
enumerate(iterable [, start])
Возвращает генератор, отдающий пары счётчик(индекс)-элемент для указанного итерируемого объекта.
Параметры:
iterable — последовательность, итератор или объекты, поддерживающие итерирование.
start – значение, с которого начинается отсчет. Необязательный аргумент, по умолчанию равен нулю.
Возвращаемое значение:
enumerate object — генератор, отдающий пары счётчик(индекс)-элемент для указанного итерируемого объекта.
Примечание:
Вы можете преобразовать enumerate object в список или кортеж, используя функции list() и tuple() соответственно.
Примеры:
Пример 2: Прохождение по enumerate object.
0 bread
1 milk
2 butter
100 bread
101 milk
102 butter
Группировка элементов нескольких списков
zip(*iterables)
Возвращает итератор по кортежам, где i-й кортеж содержит i-й элемент из каждого переданного итерируемого объекта.
Параметры:
iterables — итерируемые объекты.
Возвращаемое значение:
Итератор по кортежам на основе переданных итерируемых объектов.
Примечание:
Итератор останавливается, когда самая короткая из последовательностей исчерпана:
В сочетании с оператором * функция zip() может быть использована для распаковки списка (см. Пример 2).
Примеры:
Как использовать функцию Python Sum ()
В этом руководстве мы собираемся обсудить метод Python Sum ().
Вступление
В этом руководстве мы собираемся обсудить Метод Python Sum ().
Python сумма () Метод представляет собой встроенный метод, который возвращает суммирование всех элементов пропущенного свидетельства.
Функция Python Sum ()
Давайте посмотрим на синтаксис для использования метода суммы () в Python.
Теперь давайте посмотрим на некоторые примеры, чтобы оказать четкое понимание использования метода и работы.
Использование суммы () для списка, кортежа, сложных чисел, плавающихся и т. Д.
Давайте ознакомимся с методом, найдя сумму элементов списка целых чисел, кортеж, словарь и список сложных чисел.
Выход :
Следовательно, мы получаем желаемый выход. Для каждого случая мы получаем сумму соответствующих намеренных элементов.
Python Sum () vs numpy sum ()
Numpy Модуль в Python поставляется с сумма () Метод определен в нем. Он используется для поиска суммы элементов Numpy Array. Но этот метод также может найти сумму элементов для любых других, которые включены в Python, содержащую некоторые значения.
Давайте сравним вывод для обоих сумма () и numpy.sum () в Python для некоторых намеренных объектов.
Выход :
Как мы можем видеть, оба сумма () и np.sum () Методы возвращают один и тот же результат для списка list1 Отказ
Для расчета суммы намеренных объектов, таких как списки, кортежи и словари, встроенный сумма () Метод намного быстрее и просты в использовании, чем Numpy’s сумма () метод.
Заключение
Следовательно, в этом руководстве мы узнали о встроенном сумма () Метод Python а также сравнение между методами Python Sum () и Numpy.sum (). Я надеюсь, что у вас есть четкое понимание метода.
Для любых дополнительных вопросов не стесняйтесь общего ниже.
Python’s sum(): The Pythonic Way to Sum Values
Python’s built-in function sum() is an efficient and Pythonic way to sum a list of numeric values. Adding several numbers together is a common intermediate step in many computations, so sum() is a pretty handy tool for a Python programmer.
In this tutorial, you’ll learn how to:
This knowledge will help you efficiently approach and solve summation problems in your code using either sum() or other alternative and specialized tools.
Free Bonus: Click here to get a Python Cheat Sheet and learn the basics of Python 3, like working with data types, dictionaries, lists, and Python functions.
Understanding the Summation Problem
Summing numeric values together is a fairly common problem in programming. For example, say you have a list of numbers [1, 2, 3, 4, 5] and want to add them together to compute their total sum. With standard arithmetic, you’ll do something like this:
As far as math goes, this expression is pretty straightforward. It walks you through a short series of additions until you find the sum of all the numbers.
It’s possible to do this particular calculation by hand, but imagine some other situations where it might not be so possible. If you have a particularly long list of numbers, adding by hand can be inefficient and error-prone. What happens if you don’t even know how many items are in the list? Finally, imagine a scenario where the number of items you need to add changes dynamically or unpredictably.
In situations like these, whether you have a long or short list of numbers, Python can be quite useful to solve summation problems.
If you want to sum the numbers by creating your own solution from scratch, then you can try using a for loop:
You can also wrap the for loop in a function. This way, you can reuse the code for different lists:
You can also use recursion instead of iteration. Recursion is a functional programming technique where a function is called within its own definition. In other words, a recursive function calls itself in a loop:
When you define a recursive function, you take the risk of running into an infinite loop. To prevent this, you need to define both a base case that stops the recursion and a recursive case to call the function and start the implicit loop.
With this kind of implementation, you’ll never get a sum from this function. You’ll get an IndexError every time.
You can call reduce() with a reduction, or folding, function along with an iterable as arguments. Then reduce() uses the input function to process iterable and returns a single cumulative value.
In the second example, the reduction function is a lambda function that returns the addition of two numbers.
Since summations like these are commonplace in programming, coding a new function every time you need to sum some numbers is a lot of repetitive work. Additionally, using reduce() isn’t the most readable solution available to you.
Getting Started With Python’s sum()
Readability is one of the most important principles behind Python’s philosophy. Visualize what you are asking a loop to do when summing a list of values. You want it to loop over some numbers, accumulate them in an intermediate variable, and return the final sum. However, you can probably imagine a more readable version of summation that doesn’t need a loop. You want Python to take some numbers and sum them together.
Now think about how reduce() does summation. Using reduce() is arguably less readable and less straightforward than even the loop-based solution.
This is why Python 2.3 added sum() as a built-in function to provide a Pythonic solution to the summation problem. Alex Martelli contributed the function, which nowadays is the preferred syntax for summing a list of values:
You can call sum() with the following two arguments:
In the following two sections, you’ll learn the basics of using sum() in your code.
The Required Argument: iterable
Accepting any Python iterable as its first argument makes sum() generic, reusable, and polymorphic. Because of this feature, you can use sum() with lists, tuples, sets, range objects, and dictionaries:
You can also use sum() with a list comprehension as an argument. Here’s an example that computes the sum of the squares of a range of values:
Python 2.4 added generator expressions to the language. Again, sum() works as expected when you use a generator expression as an argument:
This example shows one of the most Pythonic techniques to approach the summation problem. It provides an elegant, readable, and efficient solution in a single line of code.
The Optional Argument: start
Summing Numeric Values
Here are a few examples of using sum() with values of different numeric types:
Concatenating Sequences
Even though sum() is mostly intended to operate on numeric values, you can also use the function to concatenate sequences such as lists and tuples. To do that, you need to provide an appropriate value to start :
In the examples above, sum() is internally performing a concatenation operation, so it works only with those sequence types that support concatenation, with the exception of strings:
Practicing With Python’s sum()
In this section, you’ll look at some more examples of when and how to use sum() in your code. With these practical examples, you’ll learn that this built-in function is quite handy when you’re performing computations that require finding the sum of a series of numbers as an intermediate step.
You’ll also learn that sum() can be helpful when you’re working with lists and tuples. A special example you’ll look at is when you need to flatten a list of lists.
Computing Cumulative Sums
The first example you’ll code has to do with how to take advantage of the start argument for summing cumulative lists of numeric values.
Say you’re developing a system to manage the sales of a given product at several different points of sale. Every day, you get a sold units report from each point of sale. You need to systematically compute the cumulative sum to know how many units the whole company sold over the week. To solve this problem, you can use sum() :
Calculating the Mean of a Sample
Another practical use case of sum() is to use it as an intermediate calculation before doing further calculations. For example, say you need to calculate the arithmetic mean of a sample of numeric values. The arithmetic mean, also known as the average, is the total sum of the values divided by the number of values, or data points, in the sample.
If you have the sample [2, 3, 4, 2, 3, 6, 4, 2] and you want to calculate the arithmetic mean by hand, then you can solve this operation:
(2 + 3 + 4 + 2 + 3 + 6 + 4 + 2) / 8 = 3.25
Here, the call to sum() computes the total sum of the data points in your sample. Next, you use len() to get the number of data points. Finally, you perform the required division to calculate the sample’s arithmetic mean.
In practice, you may want to turn this code into a function with some additional features, such as a descriptive name and a check for empty samples:
Note: Computing the mean of a sample of data is a common operation in statistics and data analysis. The Python standard library provides a convenient module called statistics to approach these kinds of calculations.
In the statistics module, you’ll find a function called mean() :
Note that when you call average() with a proper sample, you’ll get the desired mean. If you call average() with an empty sample, then you get a ValueError as expected.
Finding the Dot Product of Two Sequences
Another problem you can solve using sum() is finding the dot product of two equal-length sequences of numeric values. The dot product is the algebraic sum of products of every pair of values in the input sequences. For example, if you have the sequences (1, 2, 3) and (4, 5, 6), then you can calculate their dot product by hand using addition and multiplication:
1 × 4 + 2 × 5 + 3 × 6 = 32
The code in the above example works. However, the dot product is defined for sequences of equal length, so what happens if you provide sequences with different lengths? In that case, zip() ignores the extra values from the longest sequence, which leads to an incorrect result.
To deal with this possibility, you can wrap the call to sum() in a custom function and provide a proper check for the length of the input sequences:
Embedding the functionality in a custom function allows you to reuse the code. It also gives you the opportunity to name the function descriptively so that the user knows what the function does just by reading its name.
Flattening a List of Lists
Flattening a list of lists is a common task in Python. Say you have a list of lists and need to flatten it into a single list containing all the items from the original nested lists. You can use any of several approaches to flattening lists in Python. For example, you can use a for loop, as in the following code:
But hold on! You’ve already learned how to use sum() to concatenate sequences in this tutorial. Can you use that feature to flatten a list of lists like you did in the example above? Yes! Here’s how:
That was quick! A single line of code and matrix is now a flat list. However, using sum() doesn’t seem to be the fastest solution.
An important drawback of any solution that implies concatenation is that behind the scenes, every intermediate step creates a new list. This can be pretty wasteful in terms of memory usage. The list that is eventually returned is just the most recently created list out of all the lists that were created at each round of concatenation. Using a list comprehension instead ensures that you create and return only one list:
This new version of flatten_list() is more efficient and less wasteful in terms of memory usage. However, the nested comprehensions can be challenging to read and understand.
Using Alternatives to sum()
Summing Floating-Point Numbers: math.fsum()
According to its documentation, fsum() “avoids loss of precision by tracking multiple intermediate partial sums.” The documentation provides the following example:
In these examples, both functions return the same result. This is due to the impossibility of accurately representing both values 0.1 and 0.2 in binary floating-point:
Concatenating Iterables With itertools.chain()
chain() is also a good option for flattening a list of lists in Python:
Concatenating Strings With str.join()
Conclusion
You can now use Python’s built-in function sum() to add multiple numeric values together. This function provides an efficient, readable, and Pythonic way to solve summation problems in your code. If you’re dealing with math computations that require summing numeric values, then sum() can be your lifesaver.
In this tutorial, you learned how to:
With this knowledge, you’re now able to add multiple numeric values together in a Pythonic, readable, and efficient way.
Get a short & sweet Python Trick delivered to your inbox every couple of days. No spam ever. Unsubscribe any time. Curated by the Real Python team.
About Leodanis Pozo Ramos
Leodanis is an industrial engineer who loves Python and software development. He’s a self-taught Python developer with 6+ years of experience. He’s an avid technical writer with a growing number of articles published on Real Python and other sites.
Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are:
Master Real-World Python Skills With Unlimited Access to Real Python
Join us and get access to hundreds of tutorials, hands-on video courses, and a community of expert Pythonistas:
Master Real-World Python Skills
With Unlimited Access to Real Python
Join us and get access to hundreds of tutorials, hands-on video courses, and a community of expert Pythonistas:
Real Python Comment Policy: The most useful comments are those written with the goal of learning from or helping out other readers—after reading the whole article and all the earlier comments. Complaints and insults generally won’t make the cut here.
What’s your #1 takeaway or favorite thing you learned? How are you going to put your newfound skills to use? Leave a comment below and let us know.
Related Tutorial Categories: basics python