# Two ways to solve computing an average

Покажу решение и коротко сравню его с альтернативным подходом.

## Задача

Найти среднее арифметическое списка чисел и разобрать, что делать с пустым списком.

## Решение

```python
def average(arr: list[float]) -> float:
    if not arr:
        raise ValueError("пустой список не имеет среднего")
    return sum(arr) / len(arr)


print(average([2, 4, 6, 8]))
```

## Как это работает

Сумма элементов делится на их количество. Отдельно обрабатывается пустой список: деление на ноль недопустимо, поэтому выбрасывается понятная ошибка.

## Пример работы

```text
5.0
```

## Сложность

O(n) по времени, O(1) по памяти.


## Альтернативный подход

Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.

Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.

**Читайте также:**

[стандартную](https://dev.to/devnote2319/idempotent-publishing-jobs-id6wf-3l4b) · [список](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-0gyva-47m4) · [памяти](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/annabelle-miller-nude-5622e7.pdf) · [Отдельно](https://dev.to/devnote2319/scheduling-retries-in-a-publishing-pipeline-m878a-415b) · [ошибка](https://www.sendspace.com/file/91mwt7qs) · [поэтому](https://edu-notes-pages.pages.dev/min-max-dva-sposoba/) · [Решение](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/soasnovinha-c0a40f.pdf) · [return](https://jumpshare.com/s/WkHvi2C5AYmRejeOITKf) · [Пример](https://sofiamichel278.overblog.fr/2026/11/bellabloomts.html) · [сравню](https://secure.linkcentre.com/status/1740524/?from=submit) · [чисел](https://dev.to/devnote2319/account-pools-for-multi-platform-posting-kmxya-1g8e) · [работы](https://www.transfernow.net/dl/20261112fLvklMWC) · [альтернативным](https://www.sendspace.com/file/n7yt5otl) · [Альтернативный](https://kappa.lol/odXgGs) · [Полезно](https://news-ctl-posts.hashnode.dev/writing-tests-for-minimum-and-maximum-of-a-list-mwb9hu28) · [времени](https://milhench.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-8626ef.pdf) · [sum(arr](https://rentry.org/shad-base-pokemon-211651) · [среднее](https://articlescad.com/gv-424506.html) · [сравнить](https://jaflysilve.freeflarum.com/d/23310-23310-rusoska-amateur-porn-gallery-with-anal-and-cumshot-scenes) · [raise](https://dev.to/devnote2319/idempotent-publishing-jobs-oxu5p-1763)

