Itertools est l'un des modules les plus utiles fournis par Python. Ses fonctions facilitent le travail avec des listes et des tableaux. Que vous ayez besoin de toutes les permutations des valeurs d'un tableau ou que vous souhaitiez regrouper les caractères d'une chaîne, Itertools peut vous aider.
L'écriture du code pour ces cas courants peut être fastidieuse et sujette aux erreurs. Par conséquent, les développeurs ont construit des bibliothèques pour faire tout cela pour vous. Vous pouvez utiliser ces fonctions en important Itertools. Dans cet article, vous découvrirez le module Itertools en Python et ses fonctions.
L'officiel Python la documentation explique qu'Itertools contient du code pour créer des itérateurs. Ce module fournit des fonctions rapides et efficaces pour travailler avec des listes et des tableaux.
Avant d'utiliser ce module, vous devez l'importer en utilisant la syntaxe suivante:
importer des itertools
Il existe trois types différents d'itérateurs présents dans ce module.
- Itérateurs infinis
- Itérateurs combinatoires
- Terminer les itérateurs
Itérateurs infinis
Les itérateurs infinis peuvent exécuter une boucle à l'infini. Ces fonctions s'exécutent le plus souvent à l'aide d'un pour boucle. Il existe trois itérateurs infinis.
1. compter (début, étape)
Les compter() fonction prend deux paramètres: le début et le étape. La boucle commence à partir de la valeur de départ et renvoie des valeurs qui s'incrémentent par pas, la valeur par défaut étant 1. Considérez l'exemple ci-dessous: la boucle commence à partir de 2 et ajoutera 2 à chaque fois. La boucle s'interrompt lorsque la valeur de je devient 10.
pour i dans itertools.count (2,2) :
si je == 10 :
Pause
autre:
imprimer (i, fin=" ")
Sortir:
2 4 6 8
2. répéter (nombre, timesToRepeat)
Les répéter() fonction accepte deux paramètres. La première est une valeur que la fonction produit à plusieurs reprises. Le deuxième paramètre est le nombre de fois que le nombre doit se répéter. Si vous ne spécifiez pas le deuxième paramètre, la boucle s'exécutera à l'infini.
pour i dans itertools.repeat (2,5):
imprimer (i, fin=" ")
Sortir:
2 2 2 2 2
3. cycle (entrée)
Les cycle() La fonction parcourt l'entrée et imprime les éléments individuels dans un ordre donné. Lorsqu'il atteint la fin de son entrée, cycle recommence depuis le début.
c = 0
var = "12345"
pour i dans itertools.cycle (var):
si c == 12 :
Pause
autre:
c = c + 1
imprimer (i, fin=" ")
Sortir:
1 2 3 4 5 1 2 3 4 5 1 2
Itérateurs combinatoires
Les itérateurs combinatoires fournissent des fonctions pour effectuer des permutations, des combinaisons et des produits cartésiens.
1. produit (entrée)
Les produit() La fonction calcule le produit cartésien de l'entrée spécifiée. Il a un paramètre de répétition qui calcule le produit cartésien d'un itérateur avec lui-même. C'est un paramètre facultatif.
tableau = [1,2,3]
print (list (itertools.product (array, repeat=2)))
chaîne = "ABC"
print (liste (itertools.product (string, "XYZ")))
Sortir:
Exemple 1 [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
Exemple 2 [('A', 'X'), ('A', 'Y'), ('A', 'Z'), ('B', 'X'), ('B', 'Y '), ('B', 'Z'), ('C', 'X'), ('C', 'Y'), ('C', 'Z')]
2. permutations (entrée, taille)
Cette fonction renvoie un tuple de toutes les permutations de l'itérable donné. Il accepte deux paramètres: l'itérable et la taille du groupe. Si la taille du groupe n'est pas spécifiée, il formera des groupes de la même longueur que l'itérable lui-même.
arr = [1,2,3,4]
print (liste (itertools.permutations (arr, 2)))
Sortir:
[(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]
En rapport: Fonctions Python que vous devez connaître
3. combinaisons (entrée, longueur)
Les combinaisons() La fonction aide à calculer les combinaisons de l'itérateur donné. Notez que cette fonction conserve l'ordre des éléments de son entrée. Tandis que permutation comprend des valeurs qui ne diffèrent que par ordre, combinaisons produit des valeurs uniques.
arr = [1,2,3,4]
print (liste (itertools.combinations (arr, 3)))
Sortir:
[(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]
Terminer les itérateurs
Les itérateurs de terminaison produisent une sortie en fonction des conditions données à l'entrée. Vous pouvez mieux le comprendre à partir de quelques exemples de fonctions.
1. accumuler (entrée, opérateur)
Les accumuler() La fonction accepte deux arguments: l'itérable et un opérateur. Il produit une sortie en appliquant l'opérateur à un total cumulé et à chaque élément d'entrée à son tour. L'opérateur est un argument facultatif. Si vous ne le réussissez pas, cette fonction effectuera l'addition.
opérateur d'importation
arr = [1,2,3,4]
print (list (itertools.accumulate (arr)))
print (list (itertools.accumulate (arr, operator.sub)))
Sortir:
[1, 3, 6, 10]
[1, -1, -4, -8]
2. carte des étoiles (fonction, entrée)
Les carte des étoiles() function accepte une fonction et une liste de tuples comme arguments. Il calcule les valeurs de retour en appliquant la fonction à chaque tuple de l'entrée. Dans l'exemple donné, cette fonction calculera la valeur maximale de chaque tuple et la retournera dans un tableau.
arr = [(1,2,3), (4,5,6), (7,8,9)]
print (liste (itertools.starmap (max, arr)))
Sortir:
[3, 6, 9]
En rapport: Comment créer et utiliser des tuples en Python
3. filterfalse (fonction)
Les filtrefaux() La fonction renvoie des valeurs qui ne remplissent pas la condition de la fonction passée. Le code donné ci-dessous supprime toutes les valeurs impaires.
arr = [1,2,3,4]
print (liste (itertools.filterfalse (lambda x: x % 2 != 0, arr)))
Sortir:
[2, 4]
Continuez votre voyage de codage Python
Maintenant que vous avez découvert le module Itertools, il est temps d'explorer d'autres modules Python. Python a des modules et des bibliothèques pour un large éventail de tâches. Ils incluent des concepts avancés tels que la transformation de Fourier et les applications AI/ML.
Certains modules sont plus compliqués que d'autres et prendront plus de temps à apprendre. Le module Tkinter vous permet de créer des applications GUI complètes en Python.
Améliorez vos compétences Python Tkinter avec ce projet pour débutant.
Lire la suite
- La programmation
- La programmation
- Python
Unnati est un développeur full stack enthousiaste. Elle aime construire des projets en utilisant divers langages de programmation. Dans son temps libre, elle aime jouer de la guitare et est une passionnée de cuisine.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner