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
Oefeninstructies
- Maak een lege lijst met de naam
labeled_entries. - Itereer over de
weight_log-items en gebruik tuple-expansie omspecies,flipper_length,body_mass,sexuit te pakken.- Voeg voor elk item een nieuwe
WeightEntry-dataclassinstantie toe aanlabeled_entries.
- Voeg voor elk item een nieuwe
- Print een lijst met de eerste 5 waarden van
mass_to_flipper_length_ratiomet 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[____]])