Ukládání dat pomocí namedtuple
Při práci s daty se slovník (dictionary) hodí hlavně proto, že pojmenované klíče usnadňují čtení kódu i přístup k datům. Python ale nabízí ještě jeden užitečný kontejner: namedtuple. Funguje jako klasická n-tice (tuple), ale každá pozice má svůj název. Vytvoříš ho tak, že předáš název typu a seznam názvů polí.
Například Cookie = namedtuple("Cookie", ['name', 'quantity']) vytvoří nový typ kontejneru. Novou instanci pak vytvoříš pomocí Cookie('chocolate chip', 1), přičemž k názvu se dostaneš přes atribut name a k množství přes atribut quantity.
V tomto cvičení přestrukturuješ data z logu tučňáčích hmotností, se kterými jsi už pracoval/a, do namedtuple pro přehlednější a výstižnější kód.
Toto cvičení je součástí kurzu
Datové typy v Pythonu
Pokyny k cvičení
- Importuj
namedtuplez modulucollections. - Vytvoř namedtuple s názvem
SpeciesDetails, typovým jménemSpeciesDetailsa poli'species','sex'a'body_mass'. - Vytvoř seznam s názvem
labeled_entries. - Projdi seznam
weight_log, rozbal každou položku na proměnnéspecies,sexabody_mass, pro každou z nich vytvoř novou instanciSpeciesDetailsa přidej ji dolabeled_entries.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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])