Курс 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"
- Генерация QR-кодов с библиотекой qrcode
- Правила именования переменных
- Поиск индекса элемента
- Модуль itertools: эффективная работа с итераторами
- Создание таблиц в терминале с PrettyTable
- Множества и frozenset
- Работа с путями в Python
- Определение объема памяти объекта
- Работа с исключениями в Python
- Изменение списка срезами
- Транспонирование 2D-массива с помощью zip
- Решатель судоку на Python с pygame
- Работа с пользовательским вводом
- Создание списка через итерацию
- Тернарный оператор в Python
- Декораторы для регистрации функций
- Извлечение аудио из видео
- Сортировка с помощью параметра key
- Метод join() для объединения элементов строки
- Конкатенация строк в Python
- Печать в одной строке
- Удаление ресурса в Python
- Сравнение def и lambda функций в Python
- Официальный канал Python в Telegram
- Разбиение текста в Python
- Модуль future Python
- Нахождение самого длинного слова в списке с помощью max
- Атрибуты объекта в Python
- Определение основы слова с showballstemmer
- Извлечение аудио из видео
- Асинхронное программирование с asyncio
- Методы classmethod и staticmethod
- Область видимости переменных
- split() — разделение строки
- Удаление ключа из словаря в Python
- Тест скорости набора текста на Python
- Конкатенация строк с методом join()
- Создание новой даты в Python
- Создание Telegram-бота на Python
- Структура данных deque в Python
- Измерение времени выполнения в Python
- Измерение времени выполнения кода в Python
- Мониторинг памяти с Pympler
- Логирование в Python
- Округление банкира в Python
- Оператор Walrus в Python 3.8















