Python proporciona tres formas de ejecutar los bucles. Si bien todas las formas brindan una funcionalidad básica similar, difieren en su sintaxis y tiempo de verificación de condición.
En este artículo, veremos por qué un bucle anidado funciona mejor que uno aplanado. Pero primero, veamos qué es un bucle anidado y qué es un bucle aplanado.
- Los bucles anidados son la estructura lógica en la programación y codificación de computadoras. En el que una declaración de bucle está dentro de otra declaración de bucle.
Sintaxis:
for [iter_1] in [sequence_1]: for [iter_2] in [sequence_2]: # statements of inner loop statements(iter_2) # statements of outer loop statements(iter_1)
- Los bucles tienen la capacidad de iterar sobre los elementos de cualquier secuencia, como una lista o una string.
Sintaxis:
for [iter] in sequence: statements(s)
Cuando ejecutamos nuestro script de python, el sistema operativo en el que lo estamos ejecutando le asignará una ID de proceso. Puede ser interrumpido por llamadas al sistema y su prioridad puede cambiarse con el tiempo. Pero no es probable que el sistema le quite recursos a un proceso cuando cambiamos la dirección de la memoria o los valores. Cuando ejecutamos un ciclo plano, asigna muchas menos variables que un ciclo anidado. Entonces podemos decir que un bucle anidado utiliza más recursos que un bucle plano si están disponibles.
Ejemplo:
Python3
# import module import time # flattened loop def loop(n): for i in range(n**3): pass # nested loop def nested(n): for i in range(n): for j in range(n): for k in range(n): pass for i in range(10, 100, 10): start = time.time() loop(i) print('For flattened loop:',time.time() - start) start = time.time() nested(i) print('For nested loop:',time.time() - start) print()
Producción:
For flattened loop: 2.7894973754882812e-05 For nested loop: 4.9114227294921875e-05 For flattened loop: 0.0002155303955078125 For nested loop: 0.00024271011352539062 For flattened loop: 0.0007171630859375 For nested loop: 0.0007529258728027344 For flattened loop: 0.0016894340515136719 For nested loop: 0.0012614727020263672 For flattened loop: 0.0029077529907226562 For nested loop: 0.0022766590118408203 For flattened loop: 0.004510402679443359 For nested loop: 0.003597736358642578 For flattened loop: 0.007539272308349609 For nested loop: 0.0057599544525146484 For flattened loop: 0.01167440414428711 For nested loop: 0.008468151092529297 For flattened loop: 0.016645431518554688 For nested loop: 0.01381683349609375
Podemos ver que el tiempo que tarda el ciclo anidado disminuye para el valor creciente de n.
Publicación traducida automáticamente
Artículo escrito por aniketpr11051998 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA