Como criar tuplas nomeadas para armazenar dados
Muitas vezes, ao trabalhar com dados, você usará um dicionário apenas para poder usar
nomes de chaves para facilitar a leitura do código e o acesso aos dados. O Python
tem outro contêiner chamado namedtuple
que é uma tupla, mas tem nomes para cada
posição da tupla. Você cria uma passando um nome para o tipo da tupla e uma
lista de nomes de campos.
Por exemplo, Cookie = namedtuple("Cookie", ['name', 'quantity'])
criará um contêiner, e você pode criar outros desse tipo usando Cookie('chocolate chip', 1)
onde você pode acessar o nome usando o atributo name
e, em seguida, obter a quantidade usando
o atributo quantity
.
Neste exercício, você vai reestruturar os dados de registro de peso dos pinguins com os quais tem trabalhado em tuplas nomeadas para obter um código mais descritivo.
Este exercício faz parte do curso
Tipos de dado em Python
Instruções do exercício
- Importe
namedtuple
decollections
. - Crie uma tupla nomeada chamada
SpeciesDetails
com um nome de tipoSpeciesDetails
e os campos'species'
,'sex'
e'body_mass'
. - Crie uma lista chamada
labeled_entries
. - Itere sobre a lista
weight_log
, desempacotando-a emspecies
,sex
ebody_mass
, e crie uma nova instância de tupla nomeada SpeciesDetails para cada entrada e anexe-a à listalabeled_entries
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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])