CommencerCommencer gratuitement

Création de namedtuples pour le stockage des données

Souvent, lorsque vous travaillez avec des données, vous utiliserez un dictionnaire afin de pouvoir utiliser des noms de clés pour faciliter la lecture du code et l'accès aux données. Python a un autre conteneur appelé namedtuple qui est un tuple, mais qui dispose de noms pour chaque position du tuple. Vous en créez un en passant un nom pour le type de tuple et une liste de noms de champs.

Par exemple, Cookie = namedtuple("Cookie", ['name', 'quantity']) crée un conteneur, et vous pouvez en créer de nouveaux du même type à l'aide de la fonction Cookie('chocolate chip', 1) où vous pouvez accéder au nom à l'aide de l'attribut name, puis obtenir la quantité à l'aide de l'attribut quantity.

Dans cet exercice, vous allez restructurer les données du registre des poids des manchots avec lesquelles vous avez travaillé en namedtuples pour un code plus descriptif.

Cet exercice fait partie du cours

Types de données en Python

Afficher le cours

Instructions

  • Importez namedtuple à partir de collections.
  • Créez un namedtuple nommé SpeciesDetails avec un nom de type SpeciesDetails et des champs 'species', 'sex' et 'body_mass'.
  • Créez une liste appelée labeled_entries.
  • Itérez sur la liste weight_log, en la décomposant en species, sex et body_mass, puis créez une nouvelle instance de namedtuple SpeciesDetails pour chaque entrée et ajoutez-la à labeled_entries.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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])
Modifier et exécuter le code