1
resposta

[Dúvida] Quando usar i+1?

Na situação 11, quando fizemos o código com as colunas, utilizamos lista_completa[i+1], porém, isso não foi necessário quando adicionamos os nomes no cadastro['Estudante'] = [lista_completa[0][i][0] for i in range(len(lista_completa[0]))]. Queria entender o porquê, pois eu pensava que sempre que tivessemos vários elementos a adicionar, teriamos que iterar com o i +1 .

1 resposta

Oi Wesley, tudo bem?

Na aula, o instrutor mostra que a diferença entre usar i+1 e apenas i acontece porque estamos lidando com partes diferentes da lista lista_completa.

1. Dict Comprehension (criando o dicionário cadastro)

  • lista_completa[0] guarda nomes e códigos.
  • lista_completa[1], [2] e [3] guardam, respectivamente, notas, médias finais e situações.
  • Como o dicionário precisa associar as colunas "Notas", "Média Final" e "Situação", é necessário pular a primeira lista (nomes e códigos).

Por isso o código usa lista_completa[i+1].

2. List Comprehension (adicionando "Estudante")

  • Nesse momento queremos só os nomes.
  • Eles já estão em lista_completa[0], dentro de tuplas no formato (nome, código).
  • Para extrair só o nome, percorremos a lista e pegamos o primeiro elemento da tupla ([i][0]).

Aqui não precisamos do i+1, pois já estamos na lista correta.

Resumindo:
  • i+1: para acessar notas, médias e situações (ajustando o índice).
  • i: para percorrer a lista de nomes diretamente.

Espero que agora tenha ficado mais claro

Abraços e bons estudos!

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