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
Instrukcje do ćwiczenia
- Zaimportuj
namedtuplez modułucollections. - Utwórz namedtuple o nazwie
SpeciesDetails, z nazwą typuSpeciesDetailsi polami'species','sex'oraz'body_mass'. - Utwórz listę o nazwie
labeled_entries. - Iteruj po liście
weight_log, rozpakowując kolejne elementy naspecies,sexibody_mass, a następnie dla każdego wpisu utwórz nową instancję namedtupleSpeciesDetailsi dodaj ją dolabeled_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])