1
resposta

for

Pessoa, fiquei com uma dúvida quando percorrir o último for na lista, ele me retorna apenas os dados da última lista. Pq não me retornou todos os itens? Pessoa, fiquei com uma dúvida quando percorrir o último for na lista, ele me retorna apenas os dados da última lista. Pq não me retornou todos os itens?

1 resposta

Boas Alan! Tudo bem? Espero que sim!

O que ocorre nesse caso em específico é que, foram rodadas nessa ordem duas células, a primeira

for lista in dados:
    print(lista)

Que vai mostrar todas as listas. Entretanto, vamos observar mais de perto o comportamento do for: ele passa sentro da lista maior (dados) carregando em memória cada lista na variável lista.

Isso significa que quando o for passar pela última das listas, a variável lista continuará com o endereço de memória da última lista pela que passou, ou seja, lista, ao fim da instrução for está carregada com lista[-1].

Por isso, quando rodamos a segunda célula:

for a in lista:
    print(a)

O valor da variável lista é exatamente a última lista carregada pela célula anterior, por esse motivo, vemos apenas os itens da última lista.

Espero ter ajudado! Bons estudos!