Técnicas de bucle en Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *