Aan de slagGa gratis aan de slag

Dataclasses gebruiken

Laten we onze WeightEntry-dataclass uit de vorige oefening in de praktijk brengen. We maken een instantie van WeightEntry voor elk item in weight_log en gebruiken vervolgens de eigenschap mass_to_flipper_length_ratio die we hebben toegevoegd om de berekening uit te voeren. Hier is ter herinnering onze WeightEntry-dataclass.

@dataclass
class WeightEntry:
    # Define the fields on the class
    species: str
    flipper_length: int
    body_mass: int
    sex: str

    @property
    def mass_to_flipper_length_ratio(self):
        return self.body_mass / self.flipper_length

Deze oefening maakt deel uit van de cursus

Datatypen in Python

Cursus bekijken

Oefeninstructies

  • Maak een lege lijst met de naam labeled_entries.
  • Itereer over de weight_log-items en gebruik tuple-expansie om species, flipper_length, body_mass, sex uit te pakken.
    • Voeg voor elk item een nieuwe WeightEntry-dataclassinstantie toe aan labeled_entries.
  • Print een lijst met de eerste 5 waarden van mass_to_flipper_length_ratio met een list comprehension.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Create the empty list: labeled_entries
labeled_entries = []

# Iterate over the weight_log entries
for species, flipper_length, body_mass, ____ in weight_log:
    # Append a new WeightEntry instance to labeled_entries
    ____.____(____(species, flipper_length, body_mass, ____))
    
# Print a list of the first 5 mass_to_flipper_length_ratio values
print([____.____ for entry in labeled_entries[____]])
Code bewerken en uitvoeren