Курс 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. Руководство по Pymorphy2
  2. Проблема с изменяемыми аргументами
  3. Форматирование данных с помощью pprint
  4. Экспорт данных в файл.
  5. Функции map() и reduce() в Python
  6. Списковый компрехеншен.
  7. Работа с Telegram API на Python
  8. Работа с процессами в Python
  9. Метод rsub в Python: расширение функциональности вычитания
  10. Подписка на @SelectelNews
  11. Разделение строки на подстроки в Python
  12. Передача аргументов через **arguments
  13. Удаление элементов из списка в Python
  14. Названия столбцов в Python таблицах
  15. Объединение словарей в Python
  16. Установка и использование Telegram API в Python
  17. Освоение Python
  18. Использование *args
  19. Преобразование числа в восьмеричную строку
  20. Именованные срезы в Python
  21. PUT запрос для обновления данных
  22. Проблемы с dict в Python
  23. Оптимизация сравнения в Python
  24. Преобразование Excel в PDF с Spire.XLS
  25. Взаимодействие с sys
  26. Доступ к локальным переменным
  27. Работа с модулем random
  28. Основные операции с Numpy
  29. Импорт модулей в Python 3.12
  30. Принципы программирования
  31. Очистка строки в Python
  32. История Python
  33. Метод __iand__ для пользовательских классов
  34. Работа с необработанными строками
  35. Настройка нарезки списков
  36. Перемешивание списка с shuffle()
  37. Работа со строками
  38. Переопределение метода __lshift__
  39. Работа с временем в Python
  40. Метод Event.wait() в Python
  41. Создание множества в Python
  42. Проблемы с именами переменных
  43. Форматирование строк в Python
  44. Операции с числами в Python
  45. Оптимизация гиперпараметров в Python
  46. Конкатенация строк в Python
  47. Преобразование списка в словарь через генератор
  48. Тайное преобразование типа ключа

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