Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dúvida na interpretação e construção do FOR

Saudações para quem está lendo isso! Tenho uma dúvida muito estúpida, mas creio que seja fundamental para o meu entendimento do assunto:

lista = ['Luis', 30, True, '18']

for elemento in lista:
  print(f'O elemento {elemento} é do tipo: ', type(elemento))

O elemento Luis é do tipo:  <class 'str'>
O elemento 30 é do tipo:  <class 'int'>
O elemento True é do tipo:  <class 'bool'>
O elemento 18 é do tipo:  <class 'str'>

No código acima, eu crio uma lista e coloco alguns elementos dentro dela de variados tipos. Ok. Porém eu não atribuo nada em nenhuma variável de nome “elemento”.

Porém quando chega em “for”, eu informo: “para cada elemento na minha lista” e peço para printar e novamente eu coloco a palavra “elemento” dessa vez entre colchetes para poder concatenar com a frase do tipo String e posteriormente para informar o tipo delas. Ok,ok.

Porém a minha duvida é o seguinte: se eu não havia declarado o que é “elemento” antes do código “for”, como o Python consegue saber o que diabos é “elementos” ?

Não sei se ficou claro, desde já agradeço.

3 respostas

Tudo bem Luis? Elemento neste caso seria somente uma variavel para guardar um valor na memória e voce poder manipular. É como se voce estivesse inserindo na variavel cada valor dentro da lista para elemento. elemento = "Luis" elemento = 30 elemento = True elemento = "18"

Por isso o Python consegue identificar o que é elemento.

Acredito que nao seja a explicação mais técnica mas creio que dê pra assimilar. Não sei tbm se eu entendi sua pergunta.

Abraços

Oi Paulo meu querido, primeiramente sou grato por me responder e tentar me ajudar!

Para melhor entendimento, eu substitui no código a palavra "elemento" por "teste" para evitar confusão.

lista = ['Luis', 30, True, '18']

for teste in lista:
  print(f'O elemento {teste} é do tipo: ', type(teste))

lista = ['Luis', 30, True, '18']

for teste in lista:
  print(f'O elemento {teste} é do tipo: ', type(teste))
O elemento Luis é do tipo:  <class 'str'>
O elemento 30 é do tipo:  <class 'int'>
O elemento True é do tipo:  <class 'bool'>
O elemento 18 é do tipo:  <class 'str'>

Então deixa eu ver se eu entendi, sobre a variável "teste", ela é criada ali no "for" mesmo?

Eu só não entendi como o Python identifica cada elemento separado por vírgula dentro da lista apenas definindo a variável "teste" no "for" e não antes dele, como eu estava acostumado a ver em outras linguagens...

Não sei se deu pra entender melhor a minha dúvida...

solução

Consegui entender assistindo outros vídeos do curso, vou postar aqui pra quem tiver a mesma dúvida :

for <variável> in <coleção>:
    <instruções>

No campo <variável>, podemos ter qualquer nome válido em Python, no campo <coleção> podemos ter qualquer objeto iterável (listas, dicionários, tuplas etc) e para iniciar as <instruções>, precisamos antes indentar o código.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software