Python Itertools

Python Itertools
El código basado en el iterador es más eficiente que el código general porque aumenta el rendimiento del programa al reducir el uso de la memoria. ITerTools es un módulo muy útil de Python que se utiliza para generar diferentes tipos de iterador. Las funciones de este módulo se utilizan en el iterador para generar un iterador más complejo. Algunas funciones útiles del módulo ITerTools se han mostrado en este tutorial utilizando múltiples scripts de Python.

Tipos de iterador:

Diferentes tipos de iteradores en el módulo ITerTools han dado a continuación:

  1. Iteradores infinitos
  2. Iteradores combinánicos
  3. Terminar iteradores

Iteradores infinitos:

Los objetos iteradores se atraviesan usando el 'para' bucle. Lista, diccionario, Tuple son ejemplos del objeto Iterator. Los iteradores infinitos se llaman iterador infinito. Algunas funciones de iterador infinito se mencionan a continuación.

repetir (valor [, num])

El primer argumento de esta función es obligatorio, y el segundo argumento es opcional. Se usa para repetir los valores de los tiempos infinitos del objeto iterador.

ciclo ()

Se usa para imprimir los valores del objeto Iterator en orden cíclico.

contar (inicio [, paso])

El primer argumento de esta función es obligatorio, y el segundo argumento es opcional. Se utiliza para imprimir los valores del objeto Iterator desde el valor de inicio hasta los tiempos infinitos. Si se da el segundo paso de argumento, los valores se imprimirán omitiendo ese número de pasos.

Ejemplo-1: uso de iteradores infinitos

Cree un archivo de Python con el siguiente script para conocer las formas de usar repetir () y la función ciclo (). Aquí, la función repetir () imprimirá el carácter '*' 10 veces, y la función ciclo () imprimirá circularmente los valores de la lista.

# Incluir el módulo de IterTools
Importar iTertools
Imprima ("Imprima un personaje para varias veces usando repetir ():")
# Usando la función repetir ()
Imprimir (Lista (ITerTools.repetir ('*', 10)))
# Defina una lista de números
listData = [1, 2, 3, 4, 5]
# Defina a un iterador para leer la lista de manera circular
iterador = ITerTools.ciclo (listData)
# Imprima los datos de la lista basados ​​en el valor de rango
imprime ("\ nprint los valores de la lista de manera circular:")
para rango de iin (12):
# Imprima los valores usando el método Next () y el objeto Iterator
imprimir (siguiente (iterator), end = "\ t")

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. En la primera salida, el valor '*' del carácter se ha repetido 10 veces usando la función repetir (). En la segunda salida, los valores de la lista se imprimen en orden circular en 12 iteraciones del 'para' bucle.

Iteradores combinatorios:

El generador recursivo se utiliza para simplificar las complejas construcciones combinatorias. Los siguientes son ejemplos de iteradores combinatorios.

  1. Productos cartesianos
  2. Permutaciones
  3. combinaciones

producto():

Se utiliza para calcular el producto cartesiano de los objetos de entrada. El argumento de palabras clave repetido opcional se usa para repetir los valores de todas las combinaciones posibles. Devuelve la salida en forma de tuplas.

Permutaciones ():

Se usa para imprimir todas las permutaciones posibles de un objeto iterable.

combinaciones ():

Se usa para imprimir todas las combinaciones posibles sin reemplazar el objeto Iterable.

Ejemplo-2: Uso del producto () para calcular el producto cartesiano

Cree un archivo de Python con el siguiente script para verificar los usos de la función Product () para calcular el producto cartesiano del objeto Itererable. La función del primer producto () calculará el producto cartesiano de una lista y un carácter. La segunda función de producto () calculará el producto cartesiano de una lista con la palabra clave repetida. La función del tercer producto () calculará el producto cartesiano de una cadena de dos caracteres y una lista.

# Importar producto de IterTools
del producto ITERTOOLSIMPORT
# Imprima el producto cartesiano de un contenedor y carácter
Imprima ("Calcule el producto cartesiano de un contenedor y carácter:")
Imprimir (Lista (producto ([1, 2, 3], 'A')))
# Imprima el producto cartesiano de un contenedor utilizando la palabra clave repetida
Imprima ("\ ncalcule el producto cartesiano usando la palabra clave repetida:")
print (lista (producto (['python', 'linuxhint'], repetir = 2))))
# Imprima el producto cartesiano de un personaje y contenedor
Imprima ("\ ncalcule el producto cartesiano de un carácter y contenedor:")
Imprimir (Lista (producto ('AB', [1, 2, 3])))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. En la primera salida, se generaron tres tuplas utilizando tres elementos de la lista y el carácter, 'A' porque 31 es 3. En la segunda salida, se generaron cuatro tuplas utilizando dos elementos de lista con el valor de repetición, 2 porque 22 es 4. En la tercera salida, se generaron seis tuplas utilizando la cadena, 'AB' y la lista de tres elementos porque 32 es 6.

Terminar iteradores:

Se usa para funcionar con la secuencia de entrada pequeña, y la salida se genera en función de la función utilizada por el iterador. La función de cadena () es una de las funciones utilizadas para el iterador de terminación.

cadena (iter1, iter2):

Se usa para imprimir todos los valores del objeto Iterable en forma de cadena.

Ejemplo-3: Uso de la función Chain () para combinar dos valores de lista

Cree un archivo de Python con el siguiente script para fusionar los valores de las dos listas utilizando la función Chain (). Dos listas contienen el nombre de los estudiantes. Los valores de la segunda lista se agregarán al final de la primera lista antes de imprimir la salida.

# Importar producto de IterTools
Importar iTertools
# Declarar la primera lista de estudiantes
std_list1 = ['Mehrab Hossain', 'Riya Chakroborty', 'Minhazkazi']
# Declarar la segunda lista de estudiantes
std_list2 = ['Zinia Rahman', 'Sadia Akter']
imprimir ("Los valores de la lista fusionada:")
# Fusionar la lista de dos usando la función de cadena ()
Imprimir (Lista (ITerTools.cadena (std_list1, std_list2)))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Los valores fusionados de la lista se han imprimido en la salida.

Conclusión:

Los propósitos del módulo ITerTools y los usos de algunas funciones de IterTools se han mostrado en este tutorial mediante el uso de múltiples ejemplos para ayudar a los usuarios de Python a conocer el uso de este módulo.