Курс 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. Отладчик pdb: начало работы
  2. Оператор распаковки в Python
  3. Проверка существования переменной с оператором :=
  4. Декораторы в Python
  5. Сортировка элементов с OrderedDict
  6. Анализ текста на русском языке с помощью Pymystem3
  7. Заказ карты Тинькофф Black
  8. Многострочные комментарии в Python
  9. Генератор бросков кубиков
  10. Любовь к Python
  11. Функция enumerate() в Python
  12. Форматирование строк в Python
  13. Удаление дубликатов в pandas
  14. Оператор += в Python
  15. Сглаживание списка
  16. Управление асинхронными задачами с помощью Semaphore
  17. Лямбда-функции в цикле
  18. Генерация резюме в Gensim
  19. Импорт модулей и пакетов в Python
  20. Обновление и получение данных в SQLite
  21. Обработка исключений в Python 3
  22. Удаление первого элемента списка
  23. Установка пакетов с помощью pip
  24. Изменение списка срезом
  25. F-строки в Python
  26. Объединение словарей в Python
  27. Форматирование вывода с F-строками
  28. Показ всплывающих окон Tkinter
  29. Работа с географическими данными.
  30. Функция all() в Python
  31. Оболочка Python
  32. Работа с файлами в Python
  33. Colorama: окрашивание текста в Python
  34. Динамическая типизация в Python
  35. Синхронизация потоков с time.sleep()
  36. Работа с модулем random
  37. Игра «Камень, ножницы, бумага» — Python
  38. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  39. Преобразование букв в нижний регистр
  40. Метод append() для списка
  41. Объединение коллекций в Python
  42. Поиск наиболее частого элемента
  43. Определение функций с необязательными аргументами
  44. Создание .exe файла с pyinstaller

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