Crearea namedtuple-urilor pentru stocarea datelor
De multe ori, când lucrezi cu date, folosești un dicționar doar pentru a putea utiliza
nume de chei care să facă codul mai ușor de citit și datele mai ușor de accesat. Python
are un alt container numit namedtuple — un tuplu în care fiecare poziție are un nume.
Îl creezi transmițând un nume pentru tipul de tuplu și o listă de nume de câmpuri.
De exemplu, Cookie = namedtuple("Cookie", ['name', 'quantity']) va crea un container, iar instanțe noi de acest tip se creează folosind Cookie('chocolate chip', 1),
unde poți accesa numele prin atributul name și cantitatea prin atributul quantity.
În acest exercițiu, vei restructura datele din jurnalul de greutăți ale pinguinilor cu care ai lucrat până acum, transformându-le în namedtuple-uri pentru un cod mai descriptiv.
Acest exercițiu face parte din cursul
Tipuri de date în Python
Instrucțiuni pentru exercițiu
- Importă
namedtupledincollections. - Creează un namedtuple numit
SpeciesDetailscu tipulSpeciesDetailsși câmpurile'species','sex'și'body_mass'. - Creează o listă numită
labeled_entries. - Iterează peste lista
weight_log, despacheteaz-o înspecies,sexșibody_mass, creează o nouă instanță de tip SpeciesDetails pentru fiecare intrare și adaug-o înlabeled_entries.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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])