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?
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!