Python admite varias técnicas de bucle mediante ciertas funciones incorporadas, en varios contenedores secuenciales. Estos métodos son principalmente muy útiles en programación competitiva y también en varios proyectos que requieren una técnica específica con bucles que mantengan la estructura general del código. Se ahorra mucho tiempo y espacio de memoria, ya que no es necesario declarar las variables adicionales que declaramos en el enfoque tradicional de los bucles.
¿Dónde se usan?
Las diferentes técnicas de bucle son principalmente útiles en los lugares donde no necesitamos manipular la estructura y el orden de los contenedores generales, sino que solo se imprimen los elementos para una instancia de un solo uso, no se produce ningún cambio en el lugar en el contenedor. Esto también se puede utilizar en instancias para ahorrar tiempo.
Las diferentes técnicas de bucle que utilizan estructuras de datos de Python son:
Forma 1: usar enumerate(): enumerate() se usa para recorrer los contenedores que imprimen el número de índice junto con el valor presente en ese índice en particular.
Python3
# python code to demonstrate working of enumerate() for key, value in enumerate(['The', 'Big', 'Bang', 'Theory']): print(key, value)
Producción:
0 The 1 Big 2 Bang 3 Theory
Python3
# python code to demonstrate working of enumerate() for key, value in enumerate(['Geeks', 'for', 'Geeks', 'is', 'the', 'Best', 'Coding', 'Platform']): print(value, end=' ')
Producción:
Geeks for Geeks is the Best Coding Platform
Forma 2: Usar zip(): zip() se usa para combinar 2 contenedores similares (lista-lista o dict-dict) que imprimen los valores secuencialmente. El ciclo existe solo hasta que termina el contenedor más pequeño. Puede encontrar una explicación detallada de zip() y enumerate() aquí .
Ejemplo
Python3
# python code to demonstrate working of zip() # initializing list questions = ['name', 'colour', 'shape'] answers = ['apple', 'red', 'a circle'] # using zip() to combine two containers # and print values for question, answer in zip(questions, answers): print('What is your {0}? I am {1}.'.format(question, answer))
Producción:
What is your name? I am apple. What is your color? I am red. What is your shape? I am a circle.
Forma 3: usar iteritem(): iteritems() se usa para recorrer el diccionario imprimiendo el par clave-valor del diccionario secuencialmente que se usa antes de la versión Python 3.
Forma 4: usar elements(): elements() realiza una tarea similar en el diccionario como iteritems() pero tiene ciertas desventajas en comparación con iteritems().
- Es muy lento . Llamarlo en diccionarios grandes consume bastante tiempo.
- Se necesita mucha memoria . A veces ocupa el doble de memoria cuando se llama en un diccionario.
Ejemplo 1:
Python3
# python code to demonstrate working of items() d = {"geeks": "for", "only": "geeks"} # iteritems() is renamed to items() in python3 # using items to print the dictionary key-value pair print("The key value pair using items is : ") for i, j in d.items(): print(i, j)
Producción:
The key value pair using iteritems is : geeks for only geeks
Ejemplo 2:
Python3
# python code to demonstrate working of items() king = {'Akbar': 'The Great', 'Chandragupta': 'The Maurya', 'Modi': 'The Changer'} # using items to print the dictionary key-value pair for key, value in king.items(): print(key, value)
Producción:
Akbar The Great Chandragupta The Maurya Modi The Changer
Forma 5: Usando sorted(): sorted() se usa para imprimir el orden ordenado del contenedor . No ordena el contenedor , solo imprime el contenedor en orden ordenado para 1 instancia. El uso de set() se puede combinar para eliminar ocurrencias duplicadas.
Ejemplo 1:
Python3
# python code to demonstrate working of sorted() # initializing list lis = [1, 3, 5, 6, 2, 1, 3] # using sorted() to print the list in sorted order print("The list in sorted order is : ") for i in sorted(lis): print(i, end=" ") print("\r") # using sorted() and set() to print the list in sorted order # use of set() removes duplicates. print("The list in sorted order (without duplicates) is : ") for i in sorted(set(lis)): print(i, end=" ")
Producción:
The list in sorted order is : 1 1 2 3 3 5 6 The list in sorted order (without duplicates) is : 1 2 3 5 6
Ejemplo 2:
Python3
# python code to demonstrate working of sorted() # initializing list basket = ['guave', 'orange', 'apple', 'pear', 'guava', 'banana', 'grape'] # using sorted() and set() to print the list # in sorted order for fruit in sorted(set(basket)): print(fruit)
Producción:
apple banana grape guava guave orange pear
Forma 6: Uso de reversed(): reversed() se usa para imprimir los valores del contenedor en el orden inverso . No refleja ningún cambio en la lista original.
Ejemplo 1:
Python3
# python code to demonstrate working of reversed() # initializing list lis = [1, 3, 5, 6, 2, 1, 3] # using reversed() to print the list in reversed order print("The list in reversed order is : ") for i in reversed(lis): print(i, end=" ")
Producción:
The list in reversed order is : 3 1 2 6 5 3 1
Ejemplo 2:
Python3
# python code to demonstrate working of reversed() # using reversed() to print in reverse order for i in reversed(range(1, 10, 3)): print(i)
Producción:
7 4 1
- Estas técnicas son rápidas de usar y reducen el esfuerzo de codificación. for, mientras que los bucles necesitan que se cambie toda la estructura del contenedor.
- Estas técnicas de bucle no requieren ningún cambio estructural en el contenedor. Tienen palabras clave que presentan el propósito exacto de uso. Considerando que, no se pueden hacer predicciones previas o conjeturas, mientras que el bucle, es decir, no comprende fácilmente el propósito de un vistazo.
- La técnica de bucle hace que el código sea más conciso que usar bucles for & while.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA