/ / Gibt es in Python eine Funktion, die alle Zeichenketten der Länge n über ein gegebenes Alphabet generiert? - Python, Algorithmus, Zeichenfolge

Gibt es in Python eine Funktion, die alle Zeichenketten der Länge n über ein gegebenes Alphabet generiert? - Python, Algorithmus, Zeichenfolge

Ich brauche eine Funktion generateAllStrings(n, alphabet) So etwas zu tun:

generateAllStrings(4, ["a","b"])
>>> ["aaaa", "aaab", "aaba", "aabb", "abaa", .... , "bbba", "bbbb"]

Mit anderen Worten, generateAllStrings(n, alphabet) sollte alle möglichen Strings der Länge n über die Zeichen im Listenalphabet zurückgeben.

Gibt es eine solche Funktion in iertools oder so?

Antworten:

38 für die Antwort № 1
>>> ["".join(i) for i in itertools.product("ab",repeat=4)]
["aaaa", "aaab", "aaba", "aabb", "abaa", "abab", "abba", "abbb", "baaa", "baab", "baba", "babb", "bbaa", "bbab", "bbba", "bbbb"]