Iteración usando for

  • Duración de la lección: 14:09 min

[1]:
#
# Iteración sobre los elementos de una lista
# ===============================================
#
words = ["cat", "window", "door", "abcdefg"]
for word in words:
    print(word, len(word))
cat 3
window 6
door 4
abcdefg 7
[2]:
#
# Iteración sobre los elementos de una tupla
# ===============================================
#
letters_tuple = ("a", "b", "c", "d")
for letter in letters_tuple:
    print(letter)
a
b
c
d
[3]:
#
# Iteración sobre un string
# ===============================================
#
for vowel in "aeiou":
    print(vowel)
a
e
i
o
u
[4]:
#
# Iteración sobre un entero (no iterable)
# ===============================================
#
[5]:
#
# Iteración sobre un diccionario
# ===============================================
#
my_dict = {
    "a": 1,
    "b": 2,
    "c": 3,
}

for element in my_dict:
    print(element)
a
b
c
[6]:
#
# Iteración sobre las claves del diccionario
# ===============================================
#
my_dict = {
    "a": 1,
    "b": 2,
    "c": 3,
}

for key in my_dict.keys():
    print(key)
a
b
c
[7]:
#
# Iteración sobre los valores del diccionario
# ===============================================
#
my_dict = {
    "a": 1,
    "b": 2,
    "c": 3,
}

for value in my_dict.values():
    print(value)
1
2
3
[8]:
#
# Iteración sobre los items del diccionario
# ===============================================
#
my_dict = {
    "a": 1,
    "b": 2,
    "c": 3,
}

for item in my_dict.items():
    print(item)
('a', 1)
('b', 2)
('c', 3)
[9]:
#
# Iteración usando range()
# ===============================================
#
for index in range(4):
    print(index)
0
1
2
3
[10]:
#
# objeto range()
#
range(5)
[10]:
range(0, 5)
[11]:
#
# Un rango puede convertirse en una lista
# o una tupla para la visualización de su
# contenido.
#
list(range(5))
[11]:
[0, 1, 2, 3, 4]
[12]:
sum(range(5))
[12]:
10
[13]:
#
# Transformación del resultado del iterador
# a una tupla
#
tuple(range(5))
[13]:
(0, 1, 2, 3, 4)
[14]:
#
# El rango puede empezar en un valor negativo.
#
tuple(range(-4, 6))
[14]:
(-4, -3, -2, -1, 0, 1, 2, 3, 4, 5)
[15]:
#
# El argumento end indica que al final del print
# se imprime ', ' y no retorno de carro
#
for i in range(5, 10):
    print(i, end=", ")
5, 6, 7, 8, 9,
[16]:
#
# De 0 a 10 cada 3
#
for i in range(0, 10, 3):
    print(i, end=", ")
0, 3, 6, 9,
[17]:
#
# Range con valores negativos.
#
for i in range(-10, -100, -30):
    print(i, end=", ")
-10, -40, -70,
[18]:
#
# Enumeración de los elementos en un ciclo for
# ===============================================
#
# >>> MAL! <<<
#
list_a = ["a", "b", "c", "d", "e"]
for index in range(len(list_a)):
    print(index, list_a[index])
0 a
1 b
2 c
3 d
4 e
[19]:
#
# Bien!
#
for index, element in enumerate(list_a):
    print(index, element)
0 a
1 b
2 c
3 d
4 e
[20]:
for tupla in enumerate(list_a):
    print(tupla)
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')
(4, 'e')
[21]:
#
# Exclusión del primer o ultimo elemento.
#
list_a = ["a", "b", "c", "d", "e"]

for element in list_a:

    if element == list_a[0]:
        print(">>> first element")
        continue

    if element == list_a[-1]:
        print(">>> last element")
        continue

    print(element)
>>> first element
b
c
d
>>> last element
[22]:
#
# El primer y el ultimo elemento no se
# procesan en el for
#
for element in list_a[1:-1]:
    print(element)
b
c
d
[23]:
#
# Ciclo for con contador tácito
#
for _ in range(4):
    print("Hola!")
Hola!
Hola!
Hola!
Hola!

Comandos break y continue

[24]:
for n in range(1, 10):
    if n < 4:
        #
        # Reinicia el ciclo for sin pasar
        # por el resto del cuerpo
        #
        continue
    #
    # Solo pasa por aca cuando n >= 4.
    #
    print(n)
    if n > 6:
        #
        # Interrupe el ciclo cuando n > 6.
        #
        break
4
5
6
7

Comando pass

[25]:
#
# El cuerpo del for no tiene código. El ciclo
# for se ejecuta pero no hace nada.
#
for _ in range(5):
    pass
[26]:
for index in range(10):
    if index > 2 and index < 8:
        pass
    else:
        print(index)
0
1
2
8
9