Курс Python → Namedtuple в Python
Namedtuple в Python — это удобная структура данных, которая похожа на обычный кортеж, но позволяет обращаться к элементам по их именам, а не только по индексам. Основное преимущество использования namedtuple вместо обычного словаря заключается в экономии памяти. При создании больших данных именованные кортежи оказываются более эффективными, так как они занимают меньше места в памяти.
Когда мы создаем namedtuple, мы указываем ее структуру, то есть имена полей, которые будут содержаться в кортеже. Это позволяет нам обращаться к этим полям по их именам, что делает код более читаемым и понятным. При этом размер namedtuple оказывается значительно меньше, чем у эквивалентного словаря. Например, если сравнить размер namedtuple и словаря, можно увидеть, что namedtuple занимает 64 байта, в то время как словарь занимает 240 байт, что в 4 раза больше.
from collections import namedtuple
# Создаем именованный кортеж с полями 'name' и 'age'
Person = namedtuple('Person', ['name', 'age'])
# Создаем экземпляр именованного кортежа
person = Person(name='Alice', age=30)
# Обращаемся к полям по их именам
print(person.name)
print(person.age)
В приведенном примере мы создаем именованный кортеж Person с полями ‘name’ и ‘age’, затем создаем экземпляр этого кортежа и обращаемся к полям по их именам. Использование namedtuple делает код более понятным и удобным, а экономия памяти делает его эффективным при работе с большими данными. Поэтому, если вам нужно создать структуру данных, которая будет содержать фиксированное количество полей, namedtuple может стать отличным выбором.
Другие уроки курса "Python"
- Создание функций высшего порядка
- Транспонирование матрицы
- Defaultdict в Python
- Функции с дополнением
- Метод add для класса Vector
- Проверка элемента в множестве.
- Python Тесты и Гайды
- Извлечение статей с newspaper3k
- Закрытие файла в Python
- Фильтрация данных в Python.
- Конкатенация строковых литералов
- Иерархия классов в Python
- Виртуальные среды в Python
- Форматирование строк в Python
- Модуль inspect: получение информации о объектах
- Оператор морж в Python 3.8
- Проекты на Python
- Измерение времени выполнения кода в Python
- Проверка памяти объекта
- Наследование в программировании
- Замыкания в Python
- Работа с Telegram API на Python
- Списковое включение в Python
- Работа с JSON в Python
- Копирование файлов с shutil()
- Модуль subprocess: запуск внешних команд
- Получение пути к текущему скрипту с помощью os
- Преобразование букв в нижний регистр
- Операции с кортежами
- Обработка данных в Python
- Структура данных deque в Python
- Обработка исключений в Python
- Изменение логики работы с временем
- Поиск индексов в списке
- TypedDict для kwargs в Python 3.12
- Работа с массивами в Numpy
- Оператор «not» в Python
- Работа с часовыми поясами в Python.
- Метод index() в Python
- Оптимизация памяти с __slots__
- История Python
- Преобразование кортежа в словарь.
- Оператор (*) в Python
- Переопределение метода __and__
- Работа с словарями в Python
- Оптимизация методов в Python 3.7
- Python и Монти Пайтон
- Добавление элементов в список
- Безопасный доступ к значениям словаря















