Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Extração de nome pode ser mais simples

cadastro["Nome"] = [nome[0] for nome in lista_completa[0]]
cadastro

é bem mais fácil de ler que:

cadastro["Estudante"] = [ lista_completa[0][i][0] for i in range(len(lista_completa))]
cadastro
1 resposta
solução!

Olá, Marcelo! Como vai?

Excelente observação! Como diz o Zen do Python: "Readability counts" (A legibilidade conta).

Sua sugestão toca em um ponto fundamental da evolução de quem programa em Python: a transição do pensamento focado em índices (típico de quem vem de linguagens como C ou Java) para o pensamento focado em iteração direta sobre objetos.

Por que a sua versão é superior?

  1. Menos "Ruído" Visual: Ao usar for nome in lista_completa[0], você remove a necessidade de chamar as funções range() e len(), além de eliminar os colchetes extras de indexação [i][0].
  2. Menos Chances de Erro: Quando dependemos de range(len()), é fácil cometer o erro de "atropelar" o índice ou referenciar a dimensão errada da lista. Na iteração direta, o Python cuida disso para você.
  3. Semântica: O nome da variável de controle nome já explica o que está sendo extraído, enquanto o i é apenas um contador genérico.

Um pequeno detalhe técnico

Apenas para garantir que o código funcione exatamente como o esperado no contexto do curso:
Na sua segunda linha de exemplo (a que você considerou difícil de ler), você usou a chave "Estudante". Se a intenção for extrair apenas os nomes, a estrutura da lista_completa precisa ser respeitada.

Se lista_completa[0] for uma lista de listas/tuplas onde o nome é o primeiro elemento, seu código está perfeito:

# Jeito Pythonico (o seu)
cadastro["Nome"] = [item[0] for item in lista_completa[0]]

Dica de ouro: Desempacotamento (Unpacking)

Se você quiser deixar ainda mais claro, pode usar o desempacotamento dentro da list comprehension:

# Se cada item tiver (Nome, Media)
cadastro["Nome"] = [nome for nome, media in lista_completa[0]]

Isso é o que chamamos de código explícito, que é quase uma frase em inglês.

Você já percebeu como as List Comprehensions do Python ajudam a evitar que a gente crie várias linhas de código apenas para "filtrar" ou "limpar" dados?

Espero que possa ter lhe ajudado!