---
title: Производительность
seo:
  description: >-
    Тема «Производительность» для собеседования Data Analyst. Где быстрее поиск:
    в словарях или списках?
  title: Производительность — Data Analyst
---

[Все темы Data Analyst](/prep/data-analyst)

## <strong>Где быстрее поиск&#58; в словарях или списках?</strong> [#q-14bee738d69b81f595e4f28cb6191a06]

В Python поиск по ключу в словаре является значительно более эффективным, чем поиск по значению в списке. Это связано с тем, что словари в Python реализованы с использованием хеш-таблицы, что обеспечивает быстрый доступ к элементам.

Основные причины быстроты поиска в словарях&#58;

- <strong>Хеш-таблица</strong>&#58; Словари используют хеш-таблицу для хранения
  ключей, что позволяет получать доступ к элементам за время близкое к
  <code>O&#40;1&#41;</code> в среднем случае.

- <strong>Списки</strong>&#58; Поиск в списке осуществляется последовательно,
  поэтому время выполнения поиска зависит от количества элементов в списке
  <code>O&#40;n&#41;</code>.

Таким образом, если требуется часто выполнять поиск элементов по ключу или проверять наличие элементов по ключу, словари в Python предоставляют более эффективное решение по сравнению со списками.

:::note[Ссылки для изучения]

1. [Поиск Python: линейный список и хеш-структуры в среднем](https://docs-python.ru/tutorial/sovety-optimizatsii-koda-python/effektivnye-algoritmy-struktury-dannyh/)
1. [Как реализованы словари CPython](https://pythondoc.ru/docs/python/3.10/faq/design/#how-are-dictionaries-implemented-in-cpython)
   :::
