Функция Python sum()
sum()является встроенной функцией в Python, используемой для суммирования элементов в итерируемом объекте.
sum()является одной из наиболее часто используемых математических функций в Python, которая позволяет быстро вычислить общую сумму всех элементов в итерируемых объектах, таких как списки, кортежи, множества и т. д.
Определение слова: sumозначает "суммирование", вычисление суммы ряда числовых значений.
Базовый синтаксис и параметры
Формат синтаксиса
sum(iterable, start)
Описание параметра
- Параметр iterable:
- Тип: итерируемый объект (список, кортеж, множество и т. д.)
- Описание: Итерируемый объект для суммирования.
- Параметр start(необязательный):
- Тип: числовое значение
- Описание: Начальное значение, по умолчанию равно 0. Это значение будет добавлено к результату суммы.
Описание функций
- Возвращаемое значение: Возвращает результат суммы (целое число или число с плавающей точкой).
- Требования: Элементы итерируемого объекта должны быть числового типа (int, float).
Примеры
Пример 1: Базовое использование
Пример
# Сумма списка
numbers = [1, 2, 3, 4, 5]
result = sum(numbers)
print(result) # Вывод: 15
# Сумма кортежа
result = sum((10, 20, 30))
print(result) # Вывод: 60
# Сумма множества
result = sum({1, 2, 3})
print(result) # Вывод: 6
# Сумма диапазона
result = sum(range(1, 101))
print(result) # Вывод: 5050 (сумма от 1 до 100)
# Пустой список
result = sum([])
print(result) # Вывод: 0
numbers = [1, 2, 3, 4, 5]
result = sum(numbers)
print(result) # Вывод: 15
# Сумма кортежа
result = sum((10, 20, 30))
print(result) # Вывод: 60
# Сумма множества
result = sum({1, 2, 3})
print(result) # Вывод: 6
# Сумма диапазона
result = sum(range(1, 101))
print(result) # Вывод: 5050 (сумма от 1 до 100)
# Пустой список
result = sum([])
print(result) # Вывод: 0
Ожидаемый вывод:
15 60 6 5050 0
Анализ кода:
- Поддерживает различные итерируемые объекты, такие как списки, кортежи, множества, диапазоны и т. д.
- Сумма пустого итерируемого объекта по умолчанию равна 0.
Пример 2: Использование параметра start
Пример
# Установить начальное значение
numbers = [1, 2, 3]
# По умолчанию start=0
result = sum(numbers)
print(result) # Вывод: 6
# Установить start=10
result = sum(numbers, 10)
print(result) # Вывод: 16 (6 + 10)
# Отрицательное начальное значение
result = sum(numbers, -10)
print(result) # Вывод: -4 (6 + -10)
# Полезно при вычислении кумулятивных сумм
scores = [90, 85, 95]
bonus = 5
total = sum(scores, bonus)
print(total) # Вывод: 275 (90+85+95+5)
numbers = [1, 2, 3]
# По умолчанию start=0
result = sum(numbers)
print(result) # Вывод: 6
# Установить start=10
result = sum(numbers, 10)
print(result) # Вывод: 16 (6 + 10)
# Отрицательное начальное значение
result = sum(numbers, -10)
print(result) # Вывод: -4 (6 + -10)
# Полезно при вычислении кумулятивных сумм
scores = [90, 85, 95]
bonus = 5
total = sum(scores, bonus)
print(total) # Вывод: 275 (90+85+95+5)
Ожидаемый вывод:
6 16 -4 275
Анализ кода:
- Параметр start добавляет это значение к результату sum.
- Часто используется для добавления базового балла или бонусных баллов к общему баллу.
Пример 3: Практическое применение
Пример
# Вычислить среднее
numbers = [10, 20, 30, 40, 50]
average = sum(numbers) / len(numbers)
print(f"Среднее: {average}") # Вывод: Среднее: 30.0
# Условное суммирование
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Вычислить сумму чётных чисел
even_sum = sum(x for x in data if x % 2 == 0)
print(f"Сумма чётных чисел: {even_sum}") # Вывод: Сумма чётных чисел: 30
# Суммирование словаря (сумма значений)
prices = {'яблоко': 5, 'банан': 3, 'апельсин': 8}
total_price = sum(prices.values())
print(f"Общая стоимость: {total_price}") # Вывод: Общая стоимость: 16
# Вычислить сумму чисел, делящихся на 3 или 5, от 1 до 100
result = sum(x for x in range(1, 100) if x % 3 == 0 or x % 5 == 0)
print(result) # Вывод: 2318
numbers = [10, 20, 30, 40, 50]
average = sum(numbers) / len(numbers)
print(f"Среднее: {average}") # Вывод: Среднее: 30.0
# Условное суммирование
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Вычислить сумму чётных чисел
even_sum = sum(x for x in data if x % 2 == 0)
print(f"Сумма чётных чисел: {even_sum}") # Вывод: Сумма чётных чисел: 30
# Суммирование словаря (сумма значений)
prices = {'яблоко': 5, 'банан': 3, 'апельсин': 8}
total_price = sum(prices.values())
print(f"Общая стоимость: {total_price}") # Вывод: Общая стоимость: 16
# Вычислить сумму чисел, делящихся на 3 или 5, от 1 до 100
result = sum(x for x in range(1, 100) if x % 3 == 0 or x % 5 == 0)
print(result) # Вывод: 2318
Ожидаемый вывод:
平均值: 30.0 偶数之和: 30 Total: 16 2318
sum()является одним из самых базовых инструментов для обработки числовых данных и может комбинироваться со списковыми включениями для достижения сложного условного суммирования.
Другие расширения
Встроенные функции Python3