Рубрики
Без рубрики

Python Sum () – простое иллюстрированное руководство

Суммирующие номера являются одним из тех повторяющихся задач, которые вам нужно сделать снова и снова в ваших практических проектах. Чтобы помочь вам выполнить эту задачу в кратком, читабельном и эффективном способе, создатели Python добавили встроенную функцию SUM (). Он суммирует все элементы в списке Python — или любой другой намек на … Python Sum () – простая иллюстрированная руководство Подробнее »

Автор оригинала: Chris.

Суммирующие номера являются одним из тех повторяющихся задач, которые вам нужно сделать снова и снова в ваших практических проектах.

Чтобы помочь вам выполнить эту задачу в кратком, читабельном и эффективном способе, создатели Python добавили встроенную сумма () функция. Он суммирует над всеми элементами в списке Python – или в любом другом, имеющем в этом вопросе. (Официальные документы)

Python Sum () синтаксис

Синтаксис есть Сумма (считать, что) :

считать Сумма над всеми элементами в утечке. Это может быть список, кортеж, набор или любая другая структура данных, которая позволяет вам повторять элементы. Пример: сумма ([1, 2, 3]) возвращает.
Начало (Необязательно.) Сумма всех значений в Iterable будет добавлена к этому начальному значению. Значение начала по умолчанию равно 0. Пример: сумма ([1, 2, 3], 9) возврата.

Видео Python Sum ()

Проверьте вебинар Python Freelancer и KickStart вашу кодирующую карьеру!

Пример Python Sum ()

Код : Давайте проверим практический пример!

lst = [1, 2, 3, 4, 5, 6]

print(sum(lst))
# 21

print(sum(lst, 10))
# 31

Давайте рассмотрим некоторые важные детали относительно сумма () Функция в Python.

Python Sum () Сложность времени

Сложность времени сумма () Функция линейна в количестве элементов в Iterable ( Список , кортеж , set и т. Д.). Причина в том, что вам нужно пройти все элементы в утечке и добавить их в сумму переменной. Таким образом, вам нужно «прикоснуться» каждый повторный элемент один раз.

Словарь Python Sum () Словарь

Проблема Как суммировать все значения в Словарь ?

Решение : Используйте сумма (Dict.values ()) суммировать все значения в словаре.

customers = {'Alice': 10000,
             'Bob': 9900,
             'Carl': 21100}

# total sales:
total = sum(customers.values())

# print result:
print('Sales: ', total)
# Sales:  41000

Python Sum () Список строк

Проблема : Как вы можете суммировать список таких строк, как [«Питон», «-« Великий »] ? Это называется конкатенацией строки.

Решение : Используйте Присоединяйтесь () Способ строк Python в объединять все строки в списке. сумма () Функция работает только на численных входных данных.

Код : В следующем примере показано, как «суммировать» UP (I.E., ConcateNate) все элементы в данном списке строк.

# List of strings
lst = ['Bob', 'Alice', 'Ann']

print(''.join(lst))
# BobAliceAnn

print(' '.join(lst))
# Bob Alice Ann

Python Sum () Список списков

Проблема : Как вы можете суммировать список списков, таких как [[1, 2], [3, 4], [5, 6]] в Python?

Решение : Используйте простой для цикла с помощью помощника переменной для объединения всех списков.

Код : Следующий код объединяет все списки в один список.

# List of lists
lst = [[1, 2], [3, 4], [5, 6]]

s = []
for x in lst:
    s.extend(x)
print(s)
# [1, 2, 3, 4, 5, 6]

продлить () Метод немного известен в Python – но очень эффективен, чтобы добавить ряд элементов в список Python сразу. Проверьте мой подробный учебник по этому блюду Finxter.

Python Sum () Список элементов кортежей

Проблема : Как подвести список кортежей, элемент-мудрый?

Пример : Скажи, у тебя есть список [(1, 1), (2, 0), (0, 3)] И вы хотите подвести итоги первого и второго ценностей кортежей для получения «суммированного кортежа» (1 + 2 + 0, 1 + 0 + 3) = (3, 4) Отказ

Решение : Распакуйте кортежи в функцию ZIP, чтобы объединить первое и второе ценности кортежных корпусов. Затем суммируйте эти ценности отдельно. Вот код:

# list of tuples
lst = [(1, 1), (2, 0), (0, 3)]

# aggregate first and second tuple values
zipped = list(zip(*lst))
# result: [(1, 2, 0), (1, 0, 3)]

# calculate sum of first and second tuple values
res = (sum(zipped[0]), sum(zipped[1]))

# print result to the shell
print(res)
# result: (3, 4)

Нужен переподготовка zip () Функция и распаковка? Проверьте эти статьи на блог Finxter:

  • Zip refeher
  • Распаковывать ревью

Список списка Python Sum ()

Проблема : Учитывая список. Суммируйте ломтик исходного списка между началом и показателями шагов (и при условии, что данный размер шага также).

Пример : Дано это список [3, 4, 5, 6, 7, 8, 9, 10] Отказ Суммируйте ломтик lst [2: 5: 2] с Start = 2 , Стоп = 5 и Шаг = 2 Отказ

Решение : Используйте Slicing, чтобы получить доступ к списку. Затем нанесите функцию суммы () на результате.

Код : Следующий код вычисляет сумму данного ломтика.

# create the list
lst = [3, 4, 5, 6, 7, 8, 9, 10]

# create the slice
slc = lst[2:5:2]

# calculate the sum
s = sum(slc)

# print the result
print(s)
# 12 (=5+7)

Давайте рассмотрим интересную проблему: суммировать условно!

Состояние списка списка Python Sum ()

Проблема : Preen это список. Как суммировать все значения, которые соответствуют определенному условию?

Пример : Скажи, у вас есть список lst = [5, 8, 12, 2, 1, 3] И вы хотите суммировать все значения, которые больше 4.

Решение : Используйте понимание списка для фильтрации списка так, чтобы только элементы, которые удовлетворяют условию. Тогда используйте сумма () функция, чтобы суммировать остальные значения.

Код Следующие суммы кода по всем значениям, которые удовлетворяют определенному условию (например, X> 4 ).

# create the list
lst = [5, 8, 12, 2, 1, 3]

# filter the list
filtered = [x for x in lst if x>4]
# remaining list: [5, 8, 12]

# sum over the filtered list
s = sum(filtered)

# print everything
print(s)
# 25

Нужно повысить понимание списка? Проверьте мой углубленный учебник в блоге Finxter.

Ошибки () Python Sum ()

Ряд ошибок может произойти, если вы используете сумма () Функция в Python.

Типеррор : Python бросает Типеррор Если вы попытаетесь суммировать не численные элементы.

Например:

# Demonstrate possible execeptions
lst = ['Bob', 'Alice', 'Ann']

# WRONG:
s = sum(lst)

Если вы запустите этот код, вы получите следующее сообщение об ошибке:

Traceback (most recent call last):
  File "C:UsersxcentDesktopcode.py", line 3, in 
    s = sum(lst)
TypeError: unsupported operand type(s) for +: 'int' and 'str'

Python пытается объединить строки, используя значение начала по умолчанию 0 (целое число). Но, поскольку вы не можете объединить строку с целым числом, это не удается.

Если вы попытаетесь «взломать» Python, используя пустую строку в качестве начального значения, вы получите следующее исключение:

# Demonstrate possible execeptions
lst = ['Bob', 'Alice', 'Ann']

# WRONG:
s = sum(lst, '')

Выход:

Traceback (most recent call last):
  File "C:UsersxcentDesktopcode.py", line 5, in 
    s = sum(lst, '')
TypeError: sum() can't sum strings [use ''.join(seq) instead]

Вы можете избавиться от всех этих ошибок, суммируя только численные элементы в списке.

Для получения дополнительной информации о методе join (), ознакомьтесь с этим статьей в блоге.

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.