Курс 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"

  1. Генерация QR-кодов с библиотекой qrcode
  2. Правила именования переменных
  3. Поиск индекса элемента
  4. Модуль itertools: эффективная работа с итераторами
  5. Создание таблиц в терминале с PrettyTable
  6. Множества и frozenset
  7. Работа с путями в Python
  8. Определение объема памяти объекта
  9. Работа с исключениями в Python
  10. Изменение списка срезами
  11. Транспонирование 2D-массива с помощью zip
  12. Решатель судоку на Python с pygame
  13. Работа с пользовательским вводом
  14. Создание списка через итерацию
  15. Тернарный оператор в Python
  16. Декораторы для регистрации функций
  17. Извлечение аудио из видео
  18. Сортировка с помощью параметра key
  19. Метод join() для объединения элементов строки
  20. Конкатенация строк в Python
  21. Печать в одной строке
  22. Удаление ресурса в Python
  23. Сравнение def и lambda функций в Python
  24. Официальный канал Python в Telegram
  25. Разбиение текста в Python
  26. Модуль future Python
  27. Нахождение самого длинного слова в списке с помощью max
  28. Атрибуты объекта в Python
  29. Определение основы слова с showballstemmer
  30. Извлечение аудио из видео
  31. Асинхронное программирование с asyncio
  32. Методы classmethod и staticmethod
  33. Область видимости переменных
  34. split() — разделение строки
  35. Удаление ключа из словаря в Python
  36. Тест скорости набора текста на Python
  37. Конкатенация строк с методом join()
  38. Создание новой даты в Python
  39. Создание Telegram-бота на Python
  40. Структура данных deque в Python
  41. Измерение времени выполнения в Python
  42. Измерение времени выполнения кода в Python
  43. Мониторинг памяти с Pympler
  44. Логирование в Python
  45. Округление банкира в Python
  46. Оператор Walrus в Python 3.8

Marketello читают маркетологи из крутых компаний