Seite 1 von 1

dyn. verschachtelte Listen

Verfasst: Montag 2. Juni 2008, 16:14
von martin86_mu
Hi, ich hab n problem wofür mein Vorstellungsvermögen über verschachtelte schleifen wahrscheinlich mal wieder nicht ausreicht.

Ich habe eine Liste der länge k (variabel) mit Unterlisten, die unterschiedlich viele Elemente haben (auch variabel). Nun möchte ich diese Liste derart bearbeiten: Jedes Element der ersten Liste soll einmal mit jedem Element der weiteren Listen zu einem neuen Listenelement verknüpft werden (wieder verschachtelte Liste).

Bsp:
listeAlt = [ [ 1 , 2 ] , [ 3 , 4 , 5 ] , [ 1 ] ]
-> listeNeu = [ [ 1, 3, 1] , [1, 4, 1] , [1, 5, 1], [2, 3, 1], [2, 4, 1], [2, 5, 1] ]

Ich hab schon 3 stunden dran gesessen und sämtliche Schleifen ineinander verschachtelt, ich find jedoch kein richtigen Einstieg obwohl ich mir ständig denk dass es so schwer nicht sein kann. Mein größtes Problem
ist, dass die Länge der Liste variabel ist. Bin für jede Hilfe dankbar. Gruß

Verfasst: Montag 2. Juni 2008, 16:50
von audax
Also....du möchtest alle Permutationen ohne Beachtung der Reihenfolge aus den Mengen A, B, C?

Verfasst: Dienstag 3. Juni 2008, 12:06
von martin86_mu
@audax: die Reihenfolge spielt eine entscheidende Rolle. Das erste Element der neuen Liste soll aus jedem ersten Element aller Elemente der Alten Liste bestehen.
gruß

Verfasst: Dienstag 3. Juni 2008, 12:11
von EyDu
Für das spezielle Beispiel:

Code: Alles auswählen

[[a,b,c] for a in listeAlt[0] for b in listeAlt[1] for c in listeAlt[2]]
Zu Permutationen solltest du mit der Foren-Suche die allgemeine Lösung finden.