Курс 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. Декоратор @override
  3. Автоматизация с Python
  4. Установка и использование модуля Wikipedia
  5. Управление памятью в numpy.
  6. Установка и обучение ChatterBot
  7. Функциональное программирование.
  8. Работа с классами данных
  9. Оператор in для проверки наличия элемента
  10. Роль ключевого слова self
  11. Список методов и атрибутов
  12. Работа с CSV файлами в Python
  13. Flask — веб-фреймворк Python
  14. Создание итератора
  15. Профилирование кода на Python
  16. Создание коллекций из выражения-генератора
  17. Синхронизация потоков с time.sleep()
  18. Операции со строками в Python
  19. Поиск уникальных и повторяющихся элементов
  20. SciPy: широкий функционал для математических операций
  21. Работа с географическими данными в Python
  22. Навыки Python: строки, типы данных
  23. Создание словарей в Python
  24. Обработка элементов в Python
  25. Цикл while в Python
  26. Создание новых списков в Python
  27. Операторы += в Python
  28. Сравнение def и lambda функций в Python
  29. Имена объектов в Python
  30. Итерации в Python
  31. Импорт модулей и пакетов в Python
  32. Вывод сложных структур данных с помощью pprint
  33. Каналы Senior: Python, Java, Frontend, SQL, C++
  34. Метод __iand__ для пользовательских классов
  35. Python Enumerate
  36. JSON в Python: модуль, dump, dumps, load
  37. Установка переменной среды в Python
  38. Хэш-функции в Python
  39. Работа со словарями с defaultdict из collections
  40. Декоратор для группы пользователей в Django
  41. Взаимодействие с внешними процессами в Python
  42. Magic Commands — улучшение работы с Python
  43. Функция reduce() из модуля functools
  44. Создание виртуальной среды
  45. Компиляция регулярных выражений
  46. Класс UserDict: дополнительная функциональность
  47. Возврат нескольких значений из функции

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