Курс 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. Форматирование строк с помощью f-строк
  2. Управление браузером с Selenium
  3. Объединение словарей в Python
  4. Создание уникального проекта
  5. Генераторы в Python
  6. Конкатенация списков в Python
  7. Python reversed() vs срез[::-1]
  8. Лямбда-функции в цикле
  9. Работа со слайсами
  10. Библиотека schedule: планировщик задач
  11. Возврат нескольких значений из функции
  12. Установка пакета в Python
  13. Поиск с помощью регулярных выражений
  14. Работа с CSV файлами
  15. Сравнение неупорядоченных списков
  16. Работа с переменными в Python
  17. Python Enum Weekday Usage
  18. Структура данных deque в Python
  19. capitalize() — изменение регистра первого символа строки
  20. Подсчет элементов в Python
  21. Оператор объединения словарей
  22. Разделение строки на пары ключ-значение.
  23. Обезопасьте ввод данных
  24. Оператор Walrus: правильное использование
  25. Поиск шаблона в начале строки
  26. Логические значения в Python
  27. Отправка HTTP-запросов с User-Agent
  28. Создание OrderedDict
  29. Установка Home Assistant
  30. Генераторы данных
  31. Извлечение аудио из видео
  32. Проверка надежности пароля на Python
  33. Создание копии итератора
  34. Оформление кода по PEP 8
  35. Форматирование заголовков в Python
  36. Декоратор Ajax required
  37. Принципы SRP и OCP
  38. Замена символов в строке
  39. Решатель судоку на Python с pygame
  40. Метод radd для пользовательских чисел
  41. Параллельные вычисления в Python
  42. Частичное применение функций в Python
  43. Оператор is в Python
  44. Пропуск начальных строк с помощью dropwhile()
  45. Работа с контекстными менеджерами
  46. Преобразование чисел в Python
  47. Мониторинг работы программы Py-spy

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