Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erzeuge ich Permutationen eines Strings mit Pythons „itertools.permutations()'?

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

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 02:35:27457Durchsuche

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]

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)

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!

Stellungnahme:
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