Zacznij terazZacznij za darmo

Tworzenie namedtuple do przechowywania danych

Podczas pracy z danymi często korzysta się ze słownika tylko po to, by nadać kluczom opisowe nazwy – dzięki temu kod jest bardziej czytelny, a dostęp do danych łatwiejszy. Python oferuje jeszcze jeden kontener: namedtuple. To krotka, w której każda pozycja ma swoją nazwę. Aby ją utworzyć, podaj nazwę typu krotki oraz listę nazw pól.

Na przykład Cookie = namedtuple("Cookie", ['name', 'quantity']) tworzy nowy kontener. Nowe instancje tego typu możesz tworzyć za pomocą Cookie('chocolate chip', 1), a następnie odwoływać się do pola nazwy przez atrybut name i do ilości przez atrybut quantity.

W tym ćwiczeniu przestrukturyzujesz dane z dziennika wag pingwinów, z którym już pracowałeś, używając namedtuple, aby kod stał się bardziej opisowy.

To ćwiczenie jest częścią kursu

Typy danych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj namedtuple z modułu collections.
  • Utwórz namedtuple o nazwie SpeciesDetails, z nazwą typu SpeciesDetails i polami 'species', 'sex' oraz 'body_mass'.
  • Utwórz listę o nazwie labeled_entries.
  • Iteruj po liście weight_log, rozpakowując kolejne elementy na species, sex i body_mass, a następnie dla każdego wpisu utwórz nową instancję namedtuple SpeciesDetails i dodaj ją do labeled_entries.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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])
Edytuj i uruchom kod