Erstellen von Namedtuples zum Speichern von Daten
Wenn du mit Daten arbeitest, benutzt du oft ein Wörterbuch, nur damit du
Schlüsselbegriffe, die das Lesen des Codes und den Zugriff auf die Daten verständlicher machen. Python
hat noch einen anderen Container namens „ namedtuple
“, der ein Tupel ist, aber Namen für jedes Element hat.
Position des Tupels. Du erstellst eins, indem du einen Namen für den Tupeltyp und einen
Liste der Feldnamen.
Zum Beispiel wird Cookie = namedtuple("Cookie", ['name', 'quantity'])
Erstelle einen Container, und du kannst neue Container dieses Typs erstellen, indem du Cookie('chocolate chip', 1)
wo du über das Attribut „ name
“ auf den Namen zugreifen und dann die Menge über
das Attribut „ quantity
“.
In dieser Übung wirst du die Daten aus dem Pinguin-Gewichtsprotokoll, mit denen du gearbeitet hast, in benannte Tupel umstrukturieren, um den Code anschaulicher zu gestalten.
Diese Übung ist Teil des Kurses
Datentypen in Python
Anleitung zur Übung
- Importiere
namedtuple
auscollections
. - Mach eine NamedTuple namens „
SpeciesDetails
” mit dem Typnamen „SpeciesDetails
” und den Feldern „'species'
”, „'sex'
” und „'body_mass'
”. - Mach eine Liste namens „
labeled_entries
“. - Geh die Liste „
weight_log
“ durch, pack sie in „species
“, „sex
“ und „body_mass
“ aus und mach für jeden Eintrag eine neue Instanz „SpeciesDetails namedtuple“. Häng sie dann an „labeled_entries
“ an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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])