Сумма и попарное среднее в списке Python: решение
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Суммирование чисел в списке облегчается функцией sum()
:
total = sum([1, 2, 3])
print(total) # Выведет 6
Продвинутые возможности
Рассмотрим некоторые методы суммирования чисел с использованием Python.
Работа с десятичными дробями
Точность крайне важна в финансовых расчетах, в этом поможет decimal.Decimal
.
from decimal import Decimal
prices = [Decimal('4.20'), Decimal('2.50'), Decimal('1.99')]
total = sum(prices)
print(total) # Выводит точную сумму
Эффективное суммирование с использованием генераторов
Для обработки больших объемов данных рекомендуется использовать генераторы — это существенно экономит память.
numbers = range(1_000_000)
total = sum(n for n in numbers)
Расчет среднего для парных значений
Можно вычислить среднее значение для соседних пар чисел, используя zip()
и срезы.
numbers = [10, 20, 30, 40, 50]
pairwise_averages = [(x + y) / 2.0 for x, y in zip(numbers, numbers[1:])]
print(pairwise_averages) # [15\.0, 25.0, 35.0, 45.0]
Визуализация 👀
Оказываем, как работает функция sum()
на примере списка покупок:
🍎: 2, 🍌: 4, 🍇: 6, 🍓: 10
Наша цель — узнать общую стоимость продуктов:
grocery_list = [2, 4, 6, 10]
total_cost = sum(grocery_list)
Функция sum()
выполняет подсчет:
**Итого:** 💰 2 + 4 + 6 + 10
Общая сумма:
**Общая сумма:** 💰 22
Приступим к дальнейшему изучению!
Суммирование списков разной длины
Функция sum()
способна обрабатывать списки различной длины без проблем:
random_lengths = [sum([1, 2]), sum([10, 20, 30]), sum(range(4))]
print(random_lengths) # [3, 60, 6]
Рефакторинг кода для улучшения читаемости
Читаемый и простой код — залог легкого поддержания:
numbers_to_add = [1, 2, 3]
total_sum = sum(numbers_to_add)
Совместимость
Многие приведенные примеры совместимы с Python 3. Для Python 2 необходимо импортировать division
из модуля __future__
, чтобы обеспечить корректное деление.
Советы эксперта
Установка начальной точки для суммирования
Можно задать начальную точку для суммирования с помощью функции sum()
:
total = sum([1, 2, 3], 10)
print(total) # 16
Суммирование с преобразованием через map
Можно конвертировать и суммировать элементы в одно и то же время с помощью функции map
:
numbers = ['1', '2', '3']
total = sum(map(int, numbers))
print(total) # 6
Полезные материалы
- Built-in Functions — Python 3.12.2 documentation — Подробное описание функции
sum()
. - Python's sum(): The Pythonic Way to Sum Values – Real Python — Лучшие практики использования
sum()
в Python. - sum() function in Python – GeeksforGeeks — Ясное описание и примеры использования
sum()
в Python. - Tutorial | DigitalOcean — Как суммировать элементы списка в Python.
- numpy.sum — NumPy v1.26 Manual — Официальное руководство для numpy.sum.
- Speed Up Your Python Program With Concurrency – Medium — Оптимизация производительности программ на Python с использованием параллелизма.