Встречается на собеседованиях • сегодня
Какова скорость работы различных коллекций
В Python основные коллекции имеют разную асимптотическую сложность операций:
Списки (list)
- Доступ по индексу: O(1)
- Вставка/удаление в конце: O(1)
- Вставка/удаление в начале/середине: O(n)
- Поиск элемента: O(n)
python
lst = [1, 2, 3]
lst[0] # O(1)
lst.append(4) # O(1)
lst.insert(0, 0) # O(n)Множества (set) и словари (dict)
- Добавление/удаление: O(1) в среднем
- Поиск: O(1) в среднем
- Итерирование: O(n)
python
s = {1, 2, 3}
s.add(4) # O(1)
3 in s # O(1)Кортежи (tuple)
Аналогичны спискам, но неизменяемые. Операции те же, кроме модификации.
collections.deque
- Добавление/удаление с обоих концов: O(1)
- Доступ к элементам в середине: O(n)
Выбор коллекции зависит от операций, которые будут выполняться чаще всего. Для частого поиска - set/dict, для FIFO/LIFO - deque, для произвольного доступа - list.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы