Nessa aula estudaremos a estrutura de repetição "for", utilizada para percorrer listas e sequências facilmente do primeiro ao último elemento. |
INTRODUÇÃO À INSTRUÇÃO for..in
A instrução for
se caracteriza por obrigar o programador a definir, explicitamente em seu cabeçalho, a quantidade de vezes [ciclos] que será executado. A quantidade de ciclos é determinado pela quantidade de elementos contido na lista declarada junto com a instrução for
. Dessa forma, será executado um ciclo para cada elemento isoladamente.
O Laço de Repetição for
do Python se assemelha ao for each
encontrado linguagens como o Java, PHP, C# e etc. Inclusive, a característica encontrada em todas as linguagens é a mesma que temos aqui em Python: uma estrutura simples e compacta para percorrer todos elementos das coleções ou estruturas que contenham listas de objetos.
A sintaxe do Python não possui a estrutura de repetição for
tradicional, onde define-se uma variável, condição e incremento no cabeçalho da estrutura. A ideia, é o trabalho e manipulação de estrutura iteraveis, isto é, a definição de iteradores, ou melhor: objetos iteráveis - iterators
.
Se você não conhece a estrutura "normal" da instrução for implementada pela maioria das linguagens, não há problema, até porque, tal conhecimento de nada serve quando estamos programando em Python!
A DEFINIÇÃO DA INSTRUÇÃO for
A estrutura for exige, inicialmente, a definição de uma variável e, em seguida, a lista que será iterada. A seguir, temos o esquema para o uso da instrução for.
for <variável> in <objeto iterável>:
bloco de instrução
A variável a ser declarada na primeira parte da estrutura, receberá, a cada ciclo, um elemento contido na lista que está sendo iterada. Ao término, todos elementos terão sido percorridos e, a cada ciclo, o elemento seguinte contido no objeto iterável terá sido passado pela variável definida inicialmente.
A seguir, faremos um exemplo real e percorreremos uma lista numérica.
#coding: utf-8
for item in [3,4,5,6,7]:
print(item)
Nós podemos ler o laço de repetição definido acima for item in [3,4,5,6,7]:
da seguinte maneira. Para cada elemento contido na lista [3,4,5,6,7]
execute o bloco de código a seguir e a cada execução, atribua à variável item for item in
um item da lista.
Ou entao, podemos ler como estamos estudando... Acima, definimos a variável item
e uma lista com 5 elementos [3,4,5,6,7]
. A cada ciclo, o elemento seguinte é atribuido à variável item
e ao término, teremos executado um ciclo individual para cada elemento contido na lista.
A INSTRUÇÃO else
A instrução else
pode ser utilizado com a instrução for
da mesma forma em que estudamos com a instrução while
.
Em vista de que á estrutura for
junto com a instrução else
possui funcionamento igual ao laço de repetição while
, não há necessidade de explicarmos novamento. Veja a aula sobre a estrutura while
para maiores informações.
#coding: utf-8
#utilizando a instrução ELSE
for x in [1,2]:
print(x)
# break
else:
print("else")
1
2
else
Acima, temos que a estrutura for
executou todos os ciclos definidos e no final, executou o bloco da instrução else
.
#coding: utf-8
#Implementação sem o uso da instrução ELSE
break_executado = False
for x in [1,2]:
print(x)
if(True):
break_executado = True
break
if(break_executado):
print("else")
1
Acima, temos que a estrutura for
o primeiro ciclo e neste a instrução break
foi invocada, portanto, o laço foi finalizado e o bloco else
não foi executado.
EXEMPLO 1: IMPRIMINDO TODAS AS LETRAS DE UMA STRING
Uma String é um conjunto de caracteres e assim, podemos iterar qualquer texto, por exemplo.
#coding: utf-8
for letras in 'eXcript':
print('ciclo: ', letras)
EXEMPLO 2: IMPRIMINDO TODOS OS ITENS DE UMA LISTA
#coding: utf-8
linguagens = ['C', 'Python', 'Lua', 'Cobol', 'Pascal', 'C++']
for lingua in linguagens:
print('Linguagem contida na variável "lingua" neste ciclo: ', lingua)
EXEMPLO FEITO EM AULA
#coding: utf-8
for c in "eXcript":
print(c)
for c in "python":
print(c)
Tags curso, python, for, iteradores, iterator, blog
Comentários
comments powered by Disqus