16

Коллекции в Python. Часть первая

Серия Шпаргалки

Большая шпаргалка по коллекциям в python.


Дисклеймер. На пиакбу нет редактора кода поэтому картинки. Поскольку это шпаргалка с примерами то в этом посте допустимо.

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

В Python коллекция — это объект, содержащий группу элементов и позволяющий с ними работать как с единым целым.

Коллекции обычно поддерживают:

- итерацию ( `for item in collection` )

- проверку вхождения ( `x in collection` )

- определение длины ( `len(collection)` )

- доступ по индексу или ключу (если упорядочены или ассоциативны)

> 💡 В Python нет строгого интерфейса «коллекция», но есть неформальные протоколы. Если объект поддерживает `__iter__`, `__len__`, `__contains__` — его можно считать коллекцией.

---

Что не является коллекцией

Следующие типы не считаются коллекциями, так как не содержат группы элементов:

- `int`, `float`, `bool` — скалярные значения

- `None` — отсутствие значения

- функции, модули, классы — это объекты, но не контейнеры данных (если только не содержат `__dict__`)

---

Основные встроенные коллекции

Доступны без импортов:

Расширенные коллекции из стандартной библиотеки

Другие коллекции и коллекционоподобные типы

Хотя не всегда называются «коллекциями» в бытовом смысле, эти типы тоже хранят или представляют группы данных.

1. `str` — строка

Неизменяемая упорядоченная коллекция символов.

2. `bytes`, `bytearray`

3. `range`

Ленивая упорядоченная последовательность чисел. Не хранит элементы в памяти.

4. `array.array`

Хранит однотипные числовые данные компактно (как в C).

5. Генераторы и итераторы

Не хранят данные — генерируют по запросу. Не поддерживают `len()` или индексацию.

6. `ChainMap` (из `collections`)

Объединяет несколько словарей в одну виртуальную коллекцию — поиск идёт по цепочке.

7. `OrderedDict` (из `collections`)

Словарь с гарантированным порядком вставки. Актуален для Python < 3.7.

8. `enum.Enum`, `enum.Flag`

Коллекции именованных констант.

9. `typing.NamedTuple`, `typing.TypedDict`

Типизированные обёртки над `namedtuple` и `dict`.

10. `heapq`, `bisect` — инструменты, а не коллекции

Работают с коллекциями, но сами коллекциями не являются:

- `heapq` — поддержка кучи через списки.
- `bisect` — вставка в отсортированный список с сохранением порядка.

---

1. Списки — `list`

Упорядоченная, изменяемая коллекция. Элементы могут повторяться, типы — любые.

Применяется, когда нужна гибкая последовательность: добавление, удаление, изменение элементов.

Создание: `[]`

2. Словари — `dict`

Коллекция пар **ключ → значение**. Ключи должны быть хешируемыми. С Python 3.7 сохраняет порядок вставки.

Полезен для структурированных данных: профили, конфиги, JSON.

Создание: `{}`

3. Кортежи — `tuple`

Упорядоченная, неизменяемая коллекция. Подходит для фиксированных данных.

Используется, когда важна неизменяемость: координаты, параметры, возвращаемые значения.

Создание: `()`

> 💡 Кортежи занимают меньше памяти и работают быстрее списков. Идеальны, когда изменяемость не нужна.

👉 Продолжение

Понравилось — ставь «+»
Полезно? Подпишись.

Удачи! 🚀

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества