Seite 1 von 1

Permutation von Listen mit speziellen Bedingungen

Verfasst: Freitag 5. Mai 2006, 12:27
von profipimp
Hallo, ich habe folgendes Problem: Ich muss alle Permutationen von 5 Items einer Liste mit insgesamt 7 items erstellen. Leider kann ich nur auf eine rekursive Lösung kommen, die immer von 7 Items ausgeht. Vielleicht kann ja jemand schnell mal drüberschauen. Mein Kopf dampft nämlich sehr :(

Code: Alles auswählen

def calculateAllPerms(valueList):
    if len(valueList) <=1:
        yield valueList
    else:
        for perm in calculateAllPerms(valueList[1:]):
            for i in range(len(perm)+1):
                yield perm[:i] + valueList[0:1] + perm[i:]

Verfasst: Freitag 5. Mai 2006, 16:36
von woolfy
Hallo profipimp,

versteh ich nicht, ...
...möchtest du alle Permutationen einer Liste mit 7 Elementen und 2 variablen Fixpunkten haben?

Am Beispiel einer Liste mit 4 Elementen und einem Fixpunkt:
[1, 2, 3, 4]
[2, 1, 3, 4]
[2, 4, 3, 1]
[1, 4, 3, 2]
[4, 1, 3, 2]
[4, 2, 3, 1]


Gruß
Jens