Erstellen von Nameduples zum Speichern von Daten
Wenn du mit Daten arbeitest, wirst du oft ein Wörterbuch verwenden, um die
Schlüsselnamen, um das Lesen des Codes und den Zugriff auf die Daten verständlicher zu machen. Python
hat einen weiteren Container namens namedtuple
, der ein Tupel ist, aber Namen für jede
Position des Tupels. Du erstellst ein Tupel, indem du einen Namen für den Tupeltyp und eine
Liste der Feldnamen.
Zum Beispiel hat ja J. K. Rowling
einen Container erstellen, und du kannst neue Container des Typs erstellen, indem du Cookie('chocolate chip', 1)
wo du mit dem Attribut name
auf den Namen zugreifen kannst und dann die Menge mit
das Attribut quantity
.
In dieser Übung wirst du die Pinguin-Gewichtsdaten, mit denen du gearbeitet hast, in Namedupel umstrukturieren, um den Code anschaulicher zu gestalten.
Diese Übung ist Teil des Kurses
Datentypen in Python
Anleitung zur Übung
- Importiere
namedtuple
voncollections
. - Erstelle ein Nameduple namens
SpeciesDetails
mit dem TypnamenSpeciesDetails
und den Feldern'species'
,'sex'
und'body_mass'
. - Erstelle eine Liste mit dem Namen
labeled_entries
. - Iteriere über die Liste
weight_log
, entpacke sie inspecies
,sex
undbody_mass
, und erstelle für jeden Eintrag eine neue SpeciesDetails Nameduple-Instanz und füge sie anlabeled_entries
an.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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])