Wie erzeuge ich Permutationen eines Strings mit Pythons „itertools.permutations()'?

Barbara Streisand
Freigeben: 2024-10-26 02:35:27
Original
458 Leute haben es durchsucht

How to Generate Permutations of a String Using Python's `itertools.permutations()`?

Permutationen eines Strings mit itertools.permutations() finden

Wenn man mit der Generierung aller Permutationen eines bestimmten Strings konfrontiert wird, ist man versucht, darauf zurückzugreifen hin zu manuellen Techniken, bei denen Zeichen wiederholt und ausgetauscht werden. Das itertools-Modul von Python bietet jedoch eine elegante Lösung durch die Methode permutations().

Iteratortools.permutations() akzeptiert ein Iterable, beispielsweise einen String, und gibt aufeinanderfolgende Längenpermutationen seiner Elemente zurück. Standardmäßig werden Permutationen voller Länge generiert, Sie können jedoch mit dem Parameter r eine gewünschte Länge angeben.

Um alle Permutationen einer Zeichenfolge in Python zu erhalten, verwenden Sie einfach den folgenden Code:

from itertools import permutations

string = 'stack'

# Get all permutations as tuples
perms = permutations(string)

# Convert permutations to strings for readability
perms_as_strings = [''.join(p) for p in perms]
Nach dem Login kopieren

Dieser Ansatz ergibt eine Liste, die alle möglichen Permutationen der gegebenen Zeichenfolge enthält.

Beachten Sie, dass die Reihenfolge der Permutationen in der Liste lexikographisch ist. Das heißt, wenn Ihre Zeichenfolge sortiert ist, werden auch die permutierten Zeichenfolgen sortiert.

Umgang mit Duplikaten

Wenn Ihre Zeichenfolge doppelte Zeichen enthält, wird die permutations()-Methode dies tun Generieren Sie auch Duplikate. Um Duplikate zu vermeiden, können Sie Ihre Permutationsliste in einen Satz umwandeln:

perms_as_strings = set(perms_as_strings)
Nach dem Login kopieren

Dieser Satz enthält jetzt nur noch eindeutige Permutationen. Es ist jedoch wichtig zu beachten, dass die Reihenfolge der Elemente bei der Konvertierung in eine Menge verloren geht.

Das obige ist der detaillierte Inhalt vonWie erzeuge ich Permutationen eines Strings mit Pythons „itertools.permutations()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage