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!