Курс 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. Defaultdict в Python
  2. Работа с zip()
  3. Метод bool() в Python
  4. Многоточие в Python
  5. Преобразование многоуровневого словаря
  6. Оператор «not» в Python
  7. Создание новых списков в Python
  8. Lambda-функция в Python: использование с map() и sum()
  9. Форматирование данных с pprint
  10. Отладчик pdb: начало работы
  11. Преобразование списка в словарь через генератор
  12. TypedDict для kwargs в Python 3.12
  13. Работа с путями в Python
  14. Отладка в командной строке
  15. Избегайте ошибку FileNotFoundError
  16. Подписка на SelectelNews в Twitter
  17. Работа с deque из collections
  18. Принципы LSP и ISP в Python
  19. Сложные типы данных в Python
  20. Экспорт внешнего файла с помощью writefile
  21. Лямбда-функции в defaultdict
  22. Форматирование строк в Python
  23. Удаление элементов из списка в Python.
  24. Работа с множествами в Python
  25. Декораторы в Python
  26. Тернарный оператор в Python
  27. Запуск внешнего кода в Jupyter
  28. Глобальные переменные в Python
  29. Функция eval() в Python
  30. Фильтрация элементов с помощью islice
  31. Таймер обратного отсчета
  32. Операции с кортежами
  33. Изменение логики работы с временем
  34. Numpy: разбиение массивов
  35. Оператор match в Python
  36. Хэш-функции и метод цепочек
  37. Подчеркивание в REPL
  38. Метод __ixor__ для побитового исключающего ИЛИ
  39. Конкатенация строковых литералов
  40. Оператор del в Python
  41. Работа с областями видимости переменных
  42. Функция print() — вывод информации
  43. Декоратор защиты анонимных пользователей
  44. Область видимости переменных
  45. Метод get для словаря
  46. Множественное присваивание в Python
  47. Python UserString — создание подклассов строк

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