Курс 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. Транспонирование матрицы
  3. Defaultdict в Python
  4. Функции с дополнением
  5. Метод add для класса Vector
  6. Проверка элемента в множестве.
  7. Python Тесты и Гайды
  8. Извлечение статей с newspaper3k
  9. Закрытие файла в Python
  10. Фильтрация данных в Python.
  11. Конкатенация строковых литералов
  12. Иерархия классов в Python
  13. Виртуальные среды в Python
  14. Форматирование строк в Python
  15. Модуль inspect: получение информации о объектах
  16. Оператор морж в Python 3.8
  17. Проекты на Python
  18. Измерение времени выполнения кода в Python
  19. Проверка памяти объекта
  20. Наследование в программировании
  21. Замыкания в Python
  22. Работа с Telegram API на Python
  23. Списковое включение в Python
  24. Работа с JSON в Python
  25. Копирование файлов с shutil()
  26. Модуль subprocess: запуск внешних команд
  27. Получение пути к текущему скрипту с помощью os
  28. Преобразование букв в нижний регистр
  29. Операции с кортежами
  30. Обработка данных в Python
  31. Структура данных deque в Python
  32. Обработка исключений в Python
  33. Изменение логики работы с временем
  34. Поиск индексов в списке
  35. TypedDict для kwargs в Python 3.12
  36. Работа с массивами в Numpy
  37. Оператор «not» в Python
  38. Работа с часовыми поясами в Python.
  39. Метод index() в Python
  40. Оптимизация памяти с __slots__
  41. История Python
  42. Преобразование кортежа в словарь.
  43. Оператор (*) в Python
  44. Переопределение метода __and__
  45. Работа с словарями в Python
  46. Оптимизация методов в Python 3.7
  47. Python и Монти Пайтон
  48. Добавление элементов в список
  49. Безопасный доступ к значениям словаря

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