ComenzarEmpieza gratis

Crear tuplas con nombre para almacenar datos

A menudo, cuando trabajas con datos, utilizarás un diccionario solo para poder utilizar nombres de las claves para facilitar la lectura del código y el acceso a los datos. Python tiene otro contenedor llamado namedtuple que es una tupla, pero tiene nombres para cada posición de la tupla. Creas una pasando un nombre para el tipo de tupla y una lista de nombres de campo.

Por ejemplo, Cookie = namedtuple("Cookie", ['name', 'quantity']) creará un contenedor, y puedes crear otros nuevos del mismo tipo utilizando Cookie('chocolate chip', 1) donde puedes acceder al nombre utilizando el atributo name, y luego obtener la cantidad utilizando el atributo quantity.

En este ejercicio, vas a reestructurar los datos del registro del peso de los pingüinos con los que has estado trabajando en namedtuples para obtener un código más descriptivo.

Este ejercicio forma parte del curso

Tipos de datos en Python

Ver curso

Instrucciones del ejercicio

  • Importa namedtuple desde collections.
  • Crea una tupla con nombre llamada SpeciesDetails con un nombre de tipo SpeciesDetails y campos 'species', 'sex' y 'body_mass'.
  • Crea una lista llamada labeled_entries.
  • Recorre la lista weight_log, descomprimiéndola en species, sex, y body_mass, y crea una nueva instancia de namedtuple SpeciesDetails para cada entrada y añádela a labeled_entries.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# 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])
Editar y ejecutar código