Памятка по коллекциям и структурам данных Python
Полное руководство по модулю коллекций Python и собственным структурам данных. Изучите списки, словари, наборы, кортежи, деки и именованные кортежи.
Собственные встроенные типы
Стандартные классы контейнеров изначально доступны без дополнительного импорта.
| Метод/Функция | Синтаксис | Описание |
|---|---|---|
| List | my_list = [1, 2, 3] | Упорядоченная, изменяемая, индексируемая последовательность произвольных элементов. |
| Dictionary | my_dict = {"key": "val"} | Сопоставление ключ-значение. Ключи должны быть уникальными и хешируемыми (неизменяемыми). |
| Set | my_set = {1, 2, 3} | Неупорядоченная коллекция уникальных хешируемых элементов. |
| Tuple | my_tuple = (1, 2, 3) | Упорядоченная, неизменяемая последовательность. Часто используется для типов данных записи. |
Структуры модулей специализированных коллекций
Структуры, импортированные из коллекций для определенных характеристик производительности.
| Метод/Функция | Синтаксис | Описание |
|---|---|---|
| deque | from collections import deque | Двусторонняя очередь. Поддерживает быстрое добавление и извлечение O(1) с обоих концов. |
| defaultdict | from collections import defaultdict | Подкласс словаря, который вызывает фабричную функцию для предоставления пропущенных значений. |
| Counter | from collections import Counter | Подкласс словаря для подсчета хешируемых объектов. |
| namedtuple | from collections import namedtuple | Фабричная функция для создания подклассов кортежей с именованными полями. |
| OrderedDict | from collections import OrderedDict | Подкласс словаря, запоминающий порядок вставки ключей. |
Интерактивный демонстрационный сценарий
# List
my_list = [1, 2, 3]
# Dictionary
my_dict = {"key": "val"}
# Set
my_set = {1, 2, 3}
# Tuple
my_tuple = (1, 2, 3)
# deque
from collections import deque
# defaultdict
from collections import defaultdict
# Counter
from collections import Counter
# namedtuple
from collections import namedtuple
# OrderedDict
from collections import OrderedDictЧасто задаваемые вопросы
Когда мне следует использовать deque вместо списка?
Используйте deque (двустороннюю очередь), когда вам нужно быстрое O(1) добавление и извлечение с обоих концов. Списки имеют сложность O(n) для вставки/удаления спереди.
Как работает defaultdict?
defaultdict автоматически создает значение по умолчанию (например, list, int), если вы пытаетесь получить доступ к несуществующему ключу, предотвращая ошибки KeyError.
Связанные темы
Краткое справочное руководство по операциям со списками Python. Освойте добавление, вставку, удаление, сортировку и нарезку элементов.
Шпаргалка по словарным методам PythonИзучите словарные методы Python. Полное справочное руководство по вставке, извлечению, обновлению и проверке пар ключ-значение.
Шпаргалка по методам набора PythonПолное руководство по операциям с наборами Python. Узнайте, как добавлять, удалять и выполнять математические операции над множествами, такие как объединения и пересечения.
Шпаргалка по кортежным методам PythonМастер-кортежи Python. Узнайте, почему они неизменяемы, как получить к ним доступ и как использовать методы count() и index().
Рекомендуемые ресурсы Python
Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.
Циклы Python
Узнайте, как использовать циклы Python для перебора данных. Освойте циклы for, while, прерывание, продолжение и лучшие практики работы с циклами с помощью интерактивных примеров.
Как проверить тип данных в Python
Узнайте, как проверять типы данных в Python. Поймите, когда использовать type(), а когда isinstance(), обрабатывать пользовательские классы и писать безопасные проверки проверки типов.
Python против JavaScript: какой язык программирования лучше?
Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.