Курс 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. Операции с кортежами
  2. Очистка данных с Pandas
  3. Работа с набором данных CIFAR10 в PyTorch
  4. Анализ кода — Python
  5. Справка по импортированным модулям
  6. Генераторные выражения и islice.
  7. Оператор «not» в Python
  8. Ускорение кода с помощью векторизации
  9. Функции в одну строку
  10. Оптимизация интернирования строк
  11. JMESPath в Python
  12. Операции с комплексными числами
  13. Переопределение оператора % для объектов
  14. Функция reversed() в Python
  15. Непрерывная проверка в Python
  16. Поиск повторов в списке
  17. Создание словарей и множеств в Python
  18. Проверка кортежей.
  19. Обновление данных через PUT запрос
  20. Возведение в квадрат с помощью itertools
  21. Приоритет операций в Python
  22. Определение наиболее частого элемента с помощью collections.Counter
  23. Декоратор Property в Python
  24. Импорт классов из другого файла
  25. Комментарии в Python
  26. Python Поверхностное Копирование
  27. Умножение строк и списков
  28. Атрибуты класса и экземпляра
  29. Переменная с нижним подчеркиванием
  30. Метод __ixor__ для побитового исключающего ИЛИ
  31. Оператор распаковки в Python
  32. Сравнение неупорядоченных списков
  33. JSON в Python: модуль, dump, dumps, load
  34. Роль ключевого слова self
  35. Метод join() для объединения элементов в строку.
  36. Декораторы в Python
  37. Распаковка аргументов в Python
  38. Функция map() в Python
  39. Преобразование текста в речь с Python
  40. Конвертация коллекций в Python
  41. Генерация UUID в Python
  42. Генерация случайных чисел в Python
  43. Обработка исключений в Python
  44. Получение списка кортежей из словаря
  45. Именованные кортежи в Python
  46. Создание именованных кортежей в Python
  47. Фильтрация списка чисел
  48. Экспорт функций в Python

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