1
resposta

Exercicio 8

Ao fazer a solução do exercicio 8, fiz a seguinte solução:

id = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
quantidade = [15, 12, 1, 15, 2, 11, 2, 12, 2, 4]
preco = [93.0, 102.0, 18.0, 41.0, 122.0, 14.0, 71.0, 48.0, 14.0, 144.0]

dict_total = {}
dict_total['id'] = id
dict_total['quantidade'] = quantidade
dict_total['preco'] = preco
dict_total['total'] = [(quantidade[i] * preco[i]) for i in range(len(id))]
dict_total

A solução proposta foi:

tabela = [('id', 'quantidade', 'preco', 'total')]
tabela += [(id[i], quantidade[i], preco[i], quantidade[i]*preco[i]) for i in range(len(id))]

Eu não havia me atentado ao pedido de ser uma lista de tupla e ao bater as duas soluções estranhei, pois o enunciado pede algo proximo de uma tabela. Na aula anterior de dict comprehension o instrutor informa que esta opção é a mais próxima de criar uma tabela, não uma lista de tuplas. Nesta mesma aula, que retornei para confirmar, perguntei a Luri, que me comentou:

# Para a criação de uma tabela, o ideal é utilizar um dicionário com dict comprehension. Isso porque os dicionários permitem que você associe chaves (que podem representar os nomes das colunas) a valores (que podem ser listas com os dados correspondentes a essas colunas). Essa estrutura é mais organizada e facilita a manipulação e análise dos dados, especialmente em contextos de ciência de dados. Uma lista de tuplas pode ser útil em algumas situações, mas para a construção de uma tabela onde você deseja acessar os dados de forma estruturada e clara, o dicionário é a melhor escolha.

Já o Gemini:

# Considerando o pedido da questão, o melhor seria uma lista de tuplas.

A questão pede para estruturar os dados em uma tabela com cabeçalho. Uma lista de tuplas é a estrutura que mais se aproxima de uma tabela em Python, especialmente com a primeira tupla servindo como cabeçalho.

Por que a lista de tuplas é a melhor opção
Representa uma Tabela: Cada tupla representa uma linha da tabela, o que é a forma mais intuitiva de organizar dados tabulares (como em uma planilha ou banco de dados).

O Cabeçalho: A lista de tuplas permite adicionar facilmente o cabeçalho como a primeira linha, exatamente como a questão pede.

Facilidade de Impressão: É muito mais simples iterar sobre uma lista de tuplas e imprimir cada linha completa do que ter que combinar os valores de quatro listas separadas em um dicionário.

Comparação com o Dicionário
Sua solução com o dicionário é excelente para outros propósitos, mas não para o que a questão pediu.

O dicionário organiza os dados por coluna, o que é ótimo para análises estatísticas (ex: calcular a média de todas as quantidades).

No entanto, ele não tem uma forma nativa e simples de adicionar um cabeçalho. Para imprimir os dados como uma tabela, você teria que fazer um código extra para juntar os dados de cada uma das quatro listas, o que seria mais complexo.

O que de fato é mais utilizado na ciencia de dados com python para se aproximar da criação de uma tabela?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, tudo bem?

As duas formas que você citou funcionam, mas em situações diferentes. Se você usa uma lista de tuplas, consegue representar algo bem próximo de uma tabela: cada tupla seria uma linha e a primeira pode servir como cabeçalho. Isso facilita quando a ideia é só visualizar ou iterar os dados. Por exemplo:

tabela = [('id', 'quantidade', 'preco', 'total')]
tabela += [(id[i], quantidade[i], preco[i], quantidade[i] * preco[i]) for i in range(len(id))]

Já com dicionários você tem acesso rápido às colunas pelo nome, o que é muito prático quando precisa manipular dados, calcular médias ou somar valores específicos. Algo assim:

dict_total = {
    'id': id,
    'quantidade': quantidade,
    'preco': preco,
    'total': [quantidade[i] * preco[i] for i in range(len(id))]
}

No dia a dia de ciência de dados, quando começamos a usar o Pandas, os DataFrames acabam sendo ainda mais úteis porque unem o melhor dos dois jeitos: são tabelas completas e permitem operações rápidas tanto em linhas quanto em colunas.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!