Skapa namedtuples för att lagra data
När man arbetar med data använder man ofta en dictionary för att kunna använda nyckelnamn och på så sätt göra koden lättare att läsa och förstå. Python har en annan container som kallas namedtuple – det är en tupel där varje position har ett namn. Du skapar en genom att ange ett namn för typen och en lista med fältnamn.
Till exempel skapar Cookie = namedtuple("Cookie", ['name', 'quantity']) en container, och du kan skapa nya instanser av den typen med Cookie('chocolate chip', 1). Sedan kan du komma åt namnet via attributet name och antalet via attributet quantity.
I den här övningen ska du strukturera om pingvinviktsdatan du har arbetat med till namedtuples för mer beskrivande kod.
Den här övningen är en del av kursen
Datatyper i Python
Övningsinstruktioner
- Importera
namedtuplefråncollections. - Skapa en namedtuple som heter
SpeciesDetailsmed typnamnetSpeciesDetailsoch fälten'species','sex'och'body_mass'. - Skapa en lista som heter
labeled_entries. - Iterera över listan
weight_log, packa upp den ispecies,sexochbody_mass, skapa en ny instans avSpeciesDetailsför varje post och lägg till den ilabeled_entries.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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])