LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Importiere namedtuple aus collections.
  • 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])
Code bearbeiten und ausführen