4.4. Bucle for¶
La sentencia for
en Python difiere un poco de lo que uno puede estar
acostumbrado en lenguajes como C o Pascal. En lugar de siempre iterar sobre
una progresión aritmética de números (como en Pascal) o darle al usuario la
posibilidad de definir tanto el paso de la iteración como la condición de fin
(como en C), la sentencia for de Python itera sobre los ítems de cualquier
secuencia (una lista o una cadenas de caracteres), en el orden que aparecen
en la secuencia.
4.4.1. Tipos de Bucle “for”¶
A continuación, se presentan algunos ejemplos del uso del bucle for
:
4.4.1.1. Bucle “for” con Listas¶
A continuación, se presenta un ejemplo del uso del bucle for
con tipos de
estructuras de datos listas:
animales = ['gato', 'perro', 'serpiente']
for animal in animales:
print ("El animal es: {0}, tamaño de palabra es: {1}".format(
animal, len(animal)))
4.4.1.2. Bucle “for” con Listas y función “range”¶
A continuación, se presenta un ejemplo del uso del bucle for
con tipos de
estructuras de datos listas con la función
range() y la función len():
oracion = 'Mary entiende muy bien Python'
frases = oracion.split() # convierte a una lista cada palabra
print ("La oración analizada es:", oracion, ".\n")
for palabra in range(len(frases)):
print ("Palabra: {0}, en la frase su posición es: {1}".format(
frases[palabra], palabra))
Si se necesita iterar sobre una secuencia de números. Genera una lista conteniendo progresiones aritméticos, por ejemplo, como se hace en el fragmento de código fuente anterior.
4.4.1.3. Bucle “for” con Tuplas¶
A continuación, se presenta un ejemplo del uso del bucle for
con tipos de
estructuras de datos Tuplas:
conexion_bd = "127.0.0.1","root","123456","nomina"
for parametro in conexion_bd:
print (parametro)
El ejemplo anterior itera una tupla de parámetros.
4.4.1.4. Bucle “for” con Diccionarios¶
A continuación, se presenta un ejemplo del uso del bucle for
con tipos de
estructuras de datos diccionarios:
datos_basicos = {
"nombres":"Leonardo Jose",
"apellidos":"Caballero Garcia",
"cedula":"26938401",
"fecha_nacimiento":"03/12/1980",
"lugar_nacimiento":"Maracaibo, Zulia, Venezuela",
"nacionalidad":"Venezolana",
"estado_civil":"Soltero"
}
clave = datos_basicos.keys()
valor = datos_basicos.values()
cantidad_datos = datos_basicos.items()
for clave, valor in cantidad_datos:
print (clave + ": " + valor)
El ejemplo anterior itera un diccionario con datos básicos de una persona.
4.4.1.5. Bucle “for” con “else”¶
Al igual que la sentencia if y el bucle
while, la estructura for
también puede combinarse
con una sentencia else.
El nombre de la sentencia else es equivocada, ya que el bloque
else se ejecutará en todos los casos, es decir, cuando la
expresión condicional del bucle for
sea False
, (a comparación de la
sentencia if).
db_connection = "127.0.0.1","5432","root","nomina"
for parametro in db_connection:
print (parametro)
else:
print ("""El comando PostgreSQL es:
$ psql -h {server} -p {port} -U {user} -d {db_name}""".format(
server=db_connection[0], port=db_connection[1],
user=db_connection[2], db_name=db_connection[3]))
La sentencia else
tiene la ventaja de mantener el mismo nombre y la misma sintaxis
que en las demás estructuras de control.
Importante
Usted puede descargar el código usado en esta sección haciendo clic
aquí
.
Truco
Para ejecutar el código bucle_for.py
, abra una
consola de comando, acceda al directorio donde se encuentra el mismo,
y ejecute el siguiente comando:
python bucle_for.py
Ver también
Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.