Структура данных Что из себя представляет
Список (list) Последовательность элементов, доступ по индексу
Кортеж (tuple) Неизменяемая последовательность
Множество (set) Неупорядоченное множество уникальных элементов
Словарь (dict) Пары ключ:значение, быстрый доступ по ключу
Связанный список Последовательность узлов, каждый ссылается на следующий
Очередь (queue) FIFO: первый вошёл — первый вышел
Стек (stack) LIFO: последний вошёл — первый вышел
Куча (heap) Приоритетная очередь (min-heap или max-heap)
Хеш-таблица Ключи преобразуются в индексы через хеш-функцию
Хеш-мапа Синоним хеш-таблицы (чаще в других языках)
Бинарное дерево поисДерево, где левый < корень < правый
Изменяемость Дубликаты Упорядоченность
Да Да Да
Нет Да Да
Да Нет Нет
Да Нет (по ключам) Да (с 3.7+)
Да Да Да (если реализовать)
Да Да Да
Да Да Да
Да Да Частично
Да Нет (по ключам) Да (с 3.7+)
Да Нет (по ключам) Да (с 3.7+)
Да Да Да (по значению)
Методы / Операции
append, extend, insert, remove, pop, clear, index, count, sort, reverse, срезы [:]
count, index, срезы [:]
add, remove, discard, pop, clear, union, intersection, difference, issubset, issuperset
get, keys, values, items, update, pop, popitem, setdefault, clear
insert_at_start, insert_at_end, delete, search, traverse (реализуется вручную)
enqueue, dequeue, peek, is_empty (через deque или вручную)
push, pop, peek, is_empty (через list или deque)
heappush, heappop, heapify, heapreplace (модуль heapq)
dict: get, set, keys, values, items, update, pop и др.
То же, что dict
insert, search, delete, inorder, preorder, postorder (вручную)