Курс 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. Вывод букв строки в Python
  2. Удаление элементов из списка в Python
  3. Генерация UUID в Python
  4. Работа с типами данных в Python с помощью pydantic.
  5. Извлечение данных из JSON
  6. Переворот списка в Python
  7. Мониторинг памяти с Pympler
  8. Извлечение аудио из видео
  9. Псевдонимы в Python
  10. Возведение в квадрат с помощью itertools
  11. Solidity для DeFi Ethereum
  12. Генераторы списков в Python
  13. Отладка в Python
  14. Декораторы в Python
  15. Библиотека sh: использование команд bash в Python
  16. Форматирование строк в Python
  17. Бинарный поиск
  18. Многоточие в Python
  19. Счетчик в Python: most_common()
  20. Избегание циклических зависимостей классов в Python
  21. Переопределение метода delitem в Python
  22. F-строки в Python
  23. Рациональные числа в Python
  24. Оценка выражений генератора в Python
  25. Поиск кода
  26. PrettyTable: создание таблицы
  27. Создание новых функций с помощью functools.partial
  28. Генераторы в Python
  29. Обработка данных в Python
  30. Работа со строками в Python
  31. Красивый вывод списка
  32. Перемещение и удаление файлов в Python
  33. Отправка POST запроса на сервер.
  34. Python: Splat-оператор и splatty-splat
  35. Установка и использование Logzero
  36. Проверка на истинность объектов в Python
  37. Выборка чисел
  38. Работа с датой и временем в Python
  39. Методы обработки строк в Python
  40. Транспонирование матрицы в Python
  41. Удаление дубликатов из списка с помощью dict.fromkeys
  42. Метод lt для сортировки объектов
  43. Атрибуты массивов в Numpy
  44. Переменные в Python
  45. Оптимизация гиперпараметров с Scikit Optimize
  46. Порядок и длина множеств в Python
  47. Установка переменной среды в Python
  48. Очистка данных с помощью pandas
  49. Работа с путями в Python

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