Liste in Liste ansprechen

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.
Antworten
to.ni
User
Beiträge: 24
Registriert: Dienstag 6. Januar 2004, 15:52

Freitag 23. Januar 2004, 17:00

Hallo Forum,

eine Fragen zu Listen:

ich habe mehrere Listen in einer Liste stehen:

Code: Alles auswählen

autos = [['audi','vw','bmw'],['nissan','mazda','toyota'],['volvo']]
Hier z.B. verschiedene Marken, nach Ländern eingegeben. Meine Frage ist nun, wie ich auf die einzelnen Einträge zugreiffen kann.

Im Endeffekt bräuchte ich das mit zwei (for-)Schleifen: die erste für die Anzahl der Länder, die zweite für die Anzahl der darin gespeicherten Marken...

Schon mal danke für eure Hilfe

mfg to.ni
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Freitag 23. Januar 2004, 17:07

Hi. Du greifst ganz normal drauf zu :wink: autos[0] liefert eine Liste auf die du halt entsprechend zugreifst, wie du es auch bei einer einfachen Liste tust (ist das Prinzip von verketteten Funktionen): autos[0][0] liefert dann also "audi"

Wenn du aber nur die Anzahl brauchst, ist es auch mit einer Schleife getan...

Code: Alles auswählen

gesamt=len(autos)
pro_land=[len(x) for x in autos]
to.ni
User
Beiträge: 24
Registriert: Dienstag 6. Januar 2004, 15:52

Freitag 23. Januar 2004, 18:11

Also für alle, dies Interessiert:

Hier meine Lösung, um die Elemente der Liste in der Liste nacheinander abzuarbeiten:

Code: Alles auswählen

autos = [['audi','vw','bmw'],['nissan','mazda','toyota'],['volvo']]

laender_count = [len(x) for x in autos]

for marken in range(len(laender_count)):

    for marken_nr in range(laender_count[marken]):

        print "field: " + str(marken) + ", " + str(marken_nr)
Danke für die Hilfe ;-)

mfg
Antworten