dyn. verschachtelte Listen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
martin86_mu
User
Beiträge: 16
Registriert: Montag 10. März 2008, 15:51

dyn. verschachtelte Listen

Beitragvon martin86_mu » Montag 2. Juni 2008, 16:14

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ß
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Montag 2. Juni 2008, 16:50

Also....du möchtest alle Permutationen ohne Beachtung der Reihenfolge aus den Mengen A, B, C?
martin86_mu
User
Beiträge: 16
Registriert: Montag 10. März 2008, 15:51

Beitragvon martin86_mu » Dienstag 3. Juni 2008, 12:06

@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ß
EyDu
User
Beiträge: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Dienstag 3. Juni 2008, 12:11

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.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder