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

Cadastro['estudante'] de forma diferente

Na video aula o professor sugeriu que fizéssemos usando uma indexação tripla, mas eu achei uma outra forma, gostaria de saber se ela tb é válida.

Como o professor fez:

cadastro["Estudante"] = [lista_completa[0][i][0] for i in range(len(lista_completa[0]))]

Como eu fiz:

cadastro['Estudante'] = [nome[0] for nome in lista_completa[0]]
1 resposta
solução!

Olá, Luiz!

Sua abordagem para extrair os nomes dos estudantes da lista de tuplas é totalmente válida e, na verdade, é mais elegante e "pythonic" do que a abordagem apresentada na aula.

O que você fez foi aproveitar o fato de que lista_completa[0] é uma lista de tuplas. Então, quando você faz um loop com for nome in lista_completa[0], cada nome é uma tupla. E, como você quer o primeiro elemento de cada tupla (o nome do estudante), você pode simplesmente fazer nome[0].

Aqui está o seu código com comentários para esclarecer:

# 'nome' é uma tupla
# 'nome[0]' é o primeiro elemento da tupla (o nome do estudante)
cadastro['Estudante'] = [nome[0] for nome in lista_completa[0]]

A abordagem da aula é mais verbosa e menos direta. Ela usa um loop com for i in range(len(lista_completa[0])), onde i é um índice, e então usa esse índice para acessar cada tupla e extrair o nome do estudante.

Aqui está o código da aula com comentários para esclarecer:

# 'i' é um índice
# 'lista_completa[0][i]' é a tupla na posição 'i'
# 'lista_completa[0][i][0]' é o primeiro elemento da tupla (o nome do estudante)
cadastro["Estudante"] = [lista_completa[0][i][0] for i in range(len(lista_completa[0]))]

Ambas as abordagens produzem o mesmo resultado, mas se for levar em conta a melhor, a sua é mais simples e mais fácil de ler. Parabéns pela sua iniciativa em buscar uma solução alternativa e mais eficiente!

Espero ter ajudado e bons estudos!