Itertools ist eines der nützlichsten Module, das Python bietet. Seine Funktionen machen es zum Kinderspiel, mit Listen und Arrays zu arbeiten. Egal, ob Sie alle Permutationen der Werte in einem Array benötigen oder Zeichen aus einer Zeichenfolge gruppieren möchten, Itertools kann Ihnen helfen.

Das Schreiben des Codes für solche häufigen Fälle kann mühsam und fehleranfällig sein. Daher haben Entwickler Bibliotheken erstellt, die all dies für Sie tun. Sie können diese Funktionen verwenden, indem Sie Itertools importieren. In diesem Artikel erfahren Sie mehr über das Itertools-Modul in Python und seine Funktionen.

Das offizielle Python Dokumentation erklärt, dass Itertools Code zum Erstellen von Iteratoren enthält. Dieses Modul bietet schnelle und effiziente Funktionen zum Arbeiten mit Listen und Arrays.

Bevor Sie dieses Modul verwenden, müssen Sie es mit der folgenden Syntax importieren:

itertools importieren

In diesem Modul gibt es drei verschiedene Arten von Iteratoren.

  1. Unendliche Iteratoren
  2. Kombinatorische Iteratoren
  3. Beenden von Iteratoren

Unendliche Iteratoren

Unendliche Iteratoren können eine Schleife unendlich ausführen. Diese Funktionen laufen häufiger mit a für Schleife. Es gibt drei unendliche Iteratoren.

1. zählen (Anfang, Schritt)

Die zählen() Funktion nimmt zwei Parameter an: die Anfang und der Schritt. Die Schleife beginnt mit dem Startwert und gibt Werte zurück, die schrittweise erhöht werden, der Standardwert ist 1. Betrachten Sie das folgende Beispiel: Die Schleife beginnt bei 2 und fügt jedes Mal 2 hinzu. Die Schleife bricht ab, wenn der Wert von ich wird 10.

für i in itertools.count (2,2):
wenn ich == 10:
brechen
anders:
drucken (i, end="")

Ausgabe:

2 4 6 8 

2. wiederholen (Zahl, timesToRepeat)

Die wiederholen() Funktion akzeptiert zwei Parameter. Der erste ist ein Wert, den die Funktion wiederholt erzeugt. Der zweite Parameter ist die Anzahl der Wiederholungen der Zahl. Wenn Sie den zweiten Parameter nicht angeben, wird die Schleife unendlich ausgeführt.

für i in itertools.repeat (2,5):
drucken (i, end="")

Ausgabe:

2 2 2 2 2 

3. Zyklus (Eingabe)

Die Kreislauf() Die Funktion durchläuft die Eingabe und druckt einzelne Elemente in einer bestimmten Reihenfolge. Wenn das Ende seiner Eingabe erreicht ist, Kreislauf beginnt von vorne.

c = 0
var = "12345"
für i in itertools.cycle (var):
wenn c == 12:
brechen
anders:
c = c + 1
drucken (i, end="")

Ausgabe:

1 2 3 4 5 1 2 3 4 5 1 2

Kombinatorische Iteratoren

Die kombinatorischen Iteratoren stellen Funktionen bereit, um Permutationen, Kombinationen und kartesische Produkte durchzuführen.

1. Produkt (Eingabe)

Die Produkt() berechnet das kartesische Produkt der angegebenen Eingabe. Es hat einen Wiederholungsparameter, der das kartesische Produkt eines Iterators mit sich selbst berechnet. Es ist ein optionaler Parameter.

Array = [1,2,3]
print (Liste (itertools.product (array, repeat=2)))
Zeichenfolge = "ABC"
print (Liste (itertools.product (string, "XYZ")))

Ausgabe:

Beispiel 1 [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
Beispiel 2 [('A', 'X'), ('A', 'Y'), ('A', 'Z'), ('B', 'X'), ('B', 'Y '), ('B', 'Z'), ('C', 'X'), ('C', 'Y'), ('C', 'Z')]

2. Permutationen (Eingabe, Größe)

Diese Funktion gibt ein Tupel aller Permutationen des gegebenen Iterables zurück. Es akzeptiert zwei Parameter: die iterierbare und die Gruppengröße. Wenn die Gruppengröße nicht angegeben wird, werden Gruppen mit der gleichen Länge wie das Iterable selbst gebildet.

arr = [1,2,3,4]
print (Liste (itertools.permutations (arr, 2)))

Ausgabe:

[(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]

Verwandt: Python-Funktionen, die Sie kennen sollten

3. Kombinationen (Eingabe, Länge)

Die Kombinationen () Funktion hilft, die Kombinationen des gegebenen Iterators zu berechnen. Beachten Sie, dass diese Funktion die Elementreihenfolge ihrer Eingabe beibehält. Während Permutationen enthält Werte, die sich nur durch die Reihenfolge unterscheiden, Kombinationen erzeugt einzigartige Werte.

arr = [1,2,3,4]
drucken (Liste (itertools.combinations (arr, 3)))

Ausgabe:

[(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]

Beenden von Iteratoren

Terminierende Iteratoren erzeugen eine Ausgabe basierend auf den Bedingungen der Eingabe. Sie können es am besten anhand einiger Beispielfunktionen verstehen.

1. akkumulieren (Eingabe, Operator)

Die akkumulieren() Die Funktion akzeptiert zwei Argumente: das iterierbare und einen Operator. Es erzeugt eine Ausgabe, indem es den Operator auf eine kumulative Summe und jedes Eingabeelement der Reihe nach anwendet. Der Operator ist ein optionales Argument. Wenn Sie es nicht übergeben, führt diese Funktion eine Addition durch.

Importoperator
arr = [1,2,3,4]
print (Liste (itertools.accumulate (arr)))
print (list (itertools.accumulate (arr, operator.sub)))

Ausgabe:

[1, 3, 6, 10]
[1, -1, -4, -8]

2. Sternenkarte (Funktion, Eingabe)

Die Sternenkarte() function akzeptiert eine Funktion und eine Tupelliste als Argumente. Es berechnet Rückgabewerte, indem es die Funktion auf jedes Tupel in der Eingabe anwendet. Im gegebenen Beispiel berechnet diese Funktion den Maximalwert jedes Tupels und gibt ihn in einem Array zurück.

arr = [(1,2,3), (4,5,6), (7,8,9)]
drucken (Liste (itertools.starmap (max, arr)))

Ausgabe:

[3, 6, 9]

Verwandt: So erstellen und verwenden Sie Tupel in Python

3. filterfalse (Funktion)

Die filterfalse() Funktion gibt Werte zurück, die die Bedingung in der übergebenen Funktion nicht erfüllen. Der unten angegebene Code entfernt alle ungeraden Werte.

arr = [1,2,3,4]
print (list (itertools.filterfalse (lambda x: x % 2 != 0, arr)))

Ausgabe:

[2, 4]

Setzen Sie Ihre Python-Codierungsreise fort

Nachdem Sie nun das Itertools-Modul kennengelernt haben, ist es an der Zeit, andere Python-Module zu erkunden. Python verfügt über Module und Bibliotheken für eine Vielzahl von Aufgaben. Dazu gehören fortschrittliche Konzepte wie Fourier-Transformation und KI/ML-Anwendungen.

Einige Module sind komplizierter als andere und das Erlernen dauert länger. Mit dem Tkinter-Modul können Sie vollständige GUI-Anwendungen in Python erstellen.

So erstellen Sie einen Taschenrechner in Tkinter

Verbessern Sie Ihre Python Tkinter-Fähigkeiten mit diesem Anfängerprojekt.

Weiter lesen

TeilenTweetEmail
Verwandte Themen
  • Programmierung
  • Programmierung
  • Python
Über den Autor
Unnati Bamania (11 Artikel veröffentlicht)

Unnati ist ein begeisterter Full-Stack-Entwickler. Sie liebt es, Projekte mit verschiedenen Programmiersprachen zu erstellen. In ihrer Freizeit spielt sie gerne Gitarre und kocht begeistert.

Mehr von Unnati Bamania

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren