НачатьНачать бесплатно

Создание именованных кортежей для хранения данных

При работе с данными нередко используют словарь — только для того, чтобы применять имена ключей и сделать код более читаемым. В Python есть ещё один контейнер — namedtuple (именованный кортеж). Это обычный кортеж, но каждая его позиция имеет имя. Чтобы создать такой кортеж, нужно передать имя типа и список имён полей.

Например, Cookie = namedtuple("Cookie", ['name', 'quantity']) создаёт контейнер, а новые экземпляры этого типа можно создавать с помощью Cookie('chocolate chip', 1). При этом имя доступно через атрибут name, а количество — через атрибут quantity.

В этом упражнении вы преобразуете данные журнала веса пингвинов, с которым работали ранее, в именованные кортежи — чтобы код стал более наглядным и понятным.

Это упражнение является частью курса

Типы данных в Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте namedtuple из модуля collections.
  • Создайте именованный кортеж SpeciesDetails с именем типа SpeciesDetails и полями 'species', 'sex' и 'body_mass'.
  • Создайте список labeled_entries.
  • Переберите список weight_log, распаковывая каждый элемент в переменные species, sex и body_mass, создайте новый экземпляр именованного кортежа SpeciesDetails для каждой записи и добавьте его в labeled_entries.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import namedtuple from collections
from collections import ____

# Create the namedtuple: SpeciesDetails
SpeciesDetails = ____(____, ['species', 'sex', 'body_mass'])

# Create the empty list: labeled_entries
labeled_entries = []

# Iterate over the weight_log entries
for ____, ____, ____ in ____:
    # Append a new SpeciesDetails namedtuple instance for each entry to labeled_entries
    ____
    
print(labeled_entries[:5])
Редактировать и запускать код