[Python] Generieren einer Sequenz, die dieselben Elemente berücksichtigt

Generieren einer Sequenz mit denselben Elementen

Mit itertools.permutations werden zusätzliche Elemente für dasselbe Element generiert. Wird verwendet, wenn dieselben Zahlen, dieselben Zeichen, dieselbe Reihenfolge usw. behandelt werden. Ich habe es früher in Verwendung des Generators eingeführt, aber ich habe es alleine eingeführt, weil es für mich schwierig war, es zu finden. github source: permutation.py

permutation.py


def permutations(iterable, permutation=[]):
    if not iterable: 
        yield permutation
        pass
    for i in [iterable.index(i) for i in set(iterable)]:
        yield from permutations(iterable[:i] + iterable[i+1:], permutation + [iterable[i]])

Ist die Ausbeute rekursiv? Außerdem gibt es den Ertrag aus der Ferne zurück. Ich stelle es jedes Mal ein, um zu verhindern, dass dasselbe Element dupliziert wird.

Es scheint etwas langsam zu sein, sich an Scheiben zu halten, also sag mir bitte, ob es einen guten Weg gibt.

Recommended Posts

[Python] Generieren einer Sequenz, die dieselben Elemente berücksichtigt
Sequenzgenerierung
Python open und io.open sind gleich
[Python] Kombinieren Sie alle Elemente in einem Array
[Python] Checklistenelemente alle, alle
58 Das gleiche Schloss
Erstellen mehrerer Python-Umgebungen auf demselben System
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Python-Programm, das nach demselben Dateinamen sucht
[Python] Gibt alle Kombinationen von Elementen in der Liste aus
Finden Sie das maximale Python
der Zen von Python
[Python] Teilen Sie das Datum
In Python werden die Elemente in der Liste sortiert und als Elemente und Vielfache ausgegeben.
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in Python unter Berücksichtigung des Zeitunterschieds
[Python3] "A // B" und "math.floor (A / B)" sind nicht immer gleich! ??