Python Itertools

Python Itertools
Le code basé sur Itérateur est plus efficace que le code général car il augmente les performances du programme en réduisant l'utilisation de la mémoire. L'Itertools est un module très utile de Python qui est utilisé pour générer différents types d'itérateur. Les fonctions de ce module sont utilisées sur l'itérateur pour générer un itérateur plus complexe. Quelques fonctions utiles du module Itertools se sont montrées dans ce tutoriel en utilisant plusieurs scripts Python.

Types d'itérateur:

Différents types d'itérateurs dans le module Itertools ont donné ci-dessous:

  1. Itérateurs infinis
  2. Itérateurs combinatoires
  3. Terminer les itérateurs

Itérateurs infinis:

Les objets Iterator sont traversés en utilisant le 'pour' boucle. Liste, dictionnaire, tuple sont des exemples de l'objet itérateur. Les itérateurs infinis sont appelés itérateurs infinis. Certaines fonctions d'itérateur infinies sont mentionnées ci-dessous.

répéter (valeur [, num])

Le premier argument de cette fonction est obligatoire, et le deuxième argument est facultatif. Il est utilisé pour répéter les valeurs de l'objet Iterator Infinite Times.

cycle ()

Il est utilisé pour imprimer les valeurs de l'objet itérateur dans l'ordre cyclique.

compter (start [, étape])

Le premier argument de cette fonction est obligatoire, et le deuxième argument est facultatif. Il est utilisé pour imprimer les valeurs de l'objet Iterator de la valeur de début aux temps infinis. Si la deuxième étape d'argument est donnée, les valeurs seront imprimées en sautant ce nombre d'étapes.

Exemple-1: utilisation des itérateurs infinis

Créez un fichier Python avec le script suivant pour connaître les façons d'utiliser Repeat () et la fonction Cycle (). Ici, la fonction répéter () imprimera le caractère '*' 10 fois, et la fonction cycle () imprimera circulairement les valeurs de la liste.

# Inclure le module Itertools
Importer Itertools
Imprimer ("Imprimez un caractère plusieurs fois en utilisant Repeat ():")
# Utilisation de la fonction répétitive ()
Imprimer (liste (itertools.répéter ('*', 10)))
# Définir une liste de nombres
listData = [1, 2, 3, 4, 5]
# Définissez un itérateur pour lire la liste de manière circulaire
iterator = itertools.cycle (listData)
# Imprimez les données de la liste en fonction de la valeur de plage
Imprimer ("\ nprint les valeurs de la liste de manière circulaire:")
pour la gamme IIN (12):
# Imprimez les valeurs en utilisant la méthode Next () et l'objet Iterator
print (suivant (iterator), end = "\ t")

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Dans la première sortie, la valeur du caractère '*' a été répétée 10 fois en utilisant la fonction répétitive (). Dans la deuxième sortie, les valeurs de liste sont imprimées par ordre circulaire en 12 itérations du 'pour' boucle.

Itérateurs combinatoires:

Le générateur récursif est utilisé pour simplifier les constructions combinatoires complexes. Voici des exemples d'itérateurs combinatoires.

  1. Produits cartésiens
  2. Permutations
  3. combinaisons

produit():

Il est utilisé pour calculer le produit cartésien des objets IT-ITABLE ENTRE. L'argument de mot clé de répétition facultatif est utilisé pour répéter les valeurs de toutes les combinaisons possibles. Il renvoie la sortie sous forme de tuples.

permutations ():

Il est utilisé pour imprimer toutes les permutations possibles d'un objet itérable.

combinaisons ():

Il est utilisé pour imprimer toutes les combinaisons possibles sans remplacer l'objet itérable.

Exemple-2: utilisation du produit () pour calculer le produit cartésien

Créez un fichier Python avec le script suivant pour vérifier les utilisations de la fonction Product () pour calculer le produit cartésien de l'objet itérable. La première fonction Product () calculera le produit cartésien d'une liste et d'un personnage. La deuxième fonction Product () calculera le produit cartésien d'une liste avec le mot-clé répété. La troisième fonction Product () calculera le produit cartésien d'une chaîne de deux caractères et une liste.

# Importer un produit d'Itertools
du produit ItertoolSimport
# Imprimez le produit cartésien d'un conteneur et d'un caractère
Imprimer ("Calculez le produit cartésien d'un conteneur et d'un caractère:")
Imprimer (liste (produit ([1, 2, 3], «A»)))
# Imprimez le produit cartésien d'un conteneur à l'aide de mot-clé répété
Imprimer ("\ ncalculate le produit cartésien en utilisant un mot-clé répété:")
print (list (produit (['python', 'linuxhint'], répéter = 2)))
# Imprimez le produit cartésien d'un caractère et d'un conteneur
Imprimer ("\ ncalculate le produit cartésien d'un caractère et d'un conteneur:")
Imprimer (liste (produit ('AB', [1, 2, 3]))))

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Dans la première sortie, trois tuples ont été générés à l'aide de trois éléments de la liste et du caractère «A» parce que 31 est 3. Dans la deuxième sortie, quatre tuples ont été générés en utilisant deux éléments de liste avec la valeur de répétition, 2 car 22 est 4. Dans la troisième sortie, six tuples ont été générés à l'aide de la chaîne, «AB» et de la liste des trois éléments car 32 est 6.

Terminer les itérateurs:

Il est utilisé pour fonctionner avec la petite séquence d'entrée, et la sortie est générée en fonction de la fonction utilisée par l'itérateur. La fonction chaîne () est l'une des fonctions utilisées pour l'itérateur de terminaison.

chaîne (iter1, iter2):

Il est utilisé pour imprimer toutes les valeurs de l'objet itérable sous la forme d'une chaîne.

Exemple-3: utilisation de la fonction chaîne () pour combiner deux valeurs de liste

Créez un fichier Python avec le script suivant pour fusionner les valeurs des deux listes en utilisant la fonction chaîne (). Deux listes contiennent le nom des étudiants. Les valeurs de la deuxième liste seront ajoutées à la fin de la première liste avant d'imprimer la sortie.

# Importer un produit d'Itertools
Importer Itertools
# Déclarer la première liste d'étudiants
std_list1 = ['mehrab hossain', 'riya chakroborty', 'Minhazkazi']
# Déclarer la deuxième liste d'étudiants
std_list2 = ['Zinia Rahman', 'Sadia akter']
Print ("Les valeurs de la liste fusionnée:")
# Fusionner les deux liste à l'aide de la fonction chaîne ()
Imprimer (liste (itertools.chaîne (std_list1, std_list2))))

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Les valeurs fusionnées de la liste ont été imprimées dans la sortie.

Conclusion:

Les objectifs du module Itertools et les utilisations de certaines fonctions Itertools ont été montrés dans ce tutoriel en utilisant plusieurs exemples pour aider les utilisateurs de Python à connaître l'utilisation de ce module.