Курс 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"
- Преобразование объекта в строку
- Декоратор @override
- Автоматизация с Python
- Установка и использование модуля Wikipedia
- Управление памятью в numpy.
- Установка и обучение ChatterBot
- Функциональное программирование.
- Работа с классами данных
- Оператор in для проверки наличия элемента
- Роль ключевого слова self
- Список методов и атрибутов
- Работа с CSV файлами в Python
- Flask — веб-фреймворк Python
- Создание итератора
- Профилирование кода на Python
- Создание коллекций из выражения-генератора
- Синхронизация потоков с time.sleep()
- Операции со строками в Python
- Поиск уникальных и повторяющихся элементов
- SciPy: широкий функционал для математических операций
- Работа с географическими данными в Python
- Навыки Python: строки, типы данных
- Создание словарей в Python
- Обработка элементов в Python
- Цикл while в Python
- Создание новых списков в Python
- Операторы += в Python
- Сравнение def и lambda функций в Python
- Имена объектов в Python
- Итерации в Python
- Импорт модулей и пакетов в Python
- Вывод сложных структур данных с помощью pprint
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Метод __iand__ для пользовательских классов
- Python Enumerate
- JSON в Python: модуль, dump, dumps, load
- Установка переменной среды в Python
- Хэш-функции в Python
- Работа со словарями с defaultdict из collections
- Декоратор для группы пользователей в Django
- Взаимодействие с внешними процессами в Python
- Magic Commands — улучшение работы с Python
- Функция reduce() из модуля functools
- Создание виртуальной среды
- Компиляция регулярных выражений
- Класс UserDict: дополнительная функциональность
- Возврат нескольких значений из функции















