Seite 1 von 1

Schleife ueber verschachtelte Liste

Verfasst: Freitag 14. Oktober 2005, 11:51
von der_Gerhard
Hi *,

kennt jemand von euch eine Moeglichkeit auf alle Elemente einer verschachtelte Liste, die zur Laufzeit des Programms erstellt wird, im gleichen Programm zuzugreifen? Man braucht ja soviele Schleifen, wie Verschachtelungstiefen. Die einzige Moeglichkeit, die ich sehe, ist mir den Pythoncode fuer die Schleifen im Programm zu erzeugen und diese dann mit exec auszufuehren. Gibt es da eine einfachere Moeglichkeit?

Beispiel solch einer Liste:

Code: Alles auswählen

erg =[
              ['T1', 
                    ['c1', 'd1'],
                    ['b1', 
                         ['b2',
                              ['a3', '2'], ['b3', '3']
                         ],
                         ['a2', '4']
                     ],
                     ['a1', '5']
               ]
           ]

Verfasst: Freitag 14. Oktober 2005, 12:13
von jens

Code: Alles auswählen

def rekursiv(data, deep=0):
    for i in data:
        if type(i)==list:
            rekursiv(i,deep+4)
        else:
            print " "*deep, i

rekursiv(erg)
Ergebnis:

Code: Alles auswählen

     T1
         c1
         d1
         b1
             b2
                 a3
                 2
                 b3
                 3
             a2
             4
         a1
         5

Verfasst: Freitag 14. Oktober 2005, 12:21
von der_Gerhard
Hi Jens,
jens hat geschrieben:

Code: Alles auswählen

def rekursiv(data, deep=0):
    for i in data:
        if type(i)==list:
            rekursiv(i,deep+4)
        else:
            print " "*deep, i

rekursiv(erg)
Ergebnis:

Code: Alles auswählen

     T1
         c1
         d1
         b1
             b2
                 a3
                 2
                 b3
                 3
             a2
             4
         a1
         5
Du bist ein Schatz *g*. Dank dir vielmals.

Verfasst: Freitag 14. Oktober 2005, 12:33
von jens
der_Gerhard hat geschrieben:Du bist ein Schatz *g*. Dank dir vielmals.
Und du wärst ein Schatz wenn du nicht alles unnötig zitieren würdest :lol:

Verfasst: Freitag 14. Oktober 2005, 12:37
von der_Gerhard
jens hat geschrieben:Und du wärst ein Schatz wenn du nicht alles unnötig zitieren würdest :lol:
Ich gelobe Besserung.