2 Stimmen

Zugriff auf zwei oder mehr Listen in einer einzelnen for-Schleife

Vorausgesetzt, dass ich zwei Listen gleicher Länge habe, list_a, list_b.

Ich kann die Elemente in einer einzigen for-Schleife wie folgt drucken:

for i in range(0, len(list_a)):
    print "%s %s" % (list_a[i], list_b[i])

Gibt es eine alternative und elegante Möglichkeit, die oben genannte Aufgabe zu erledigen?

Ich habe versucht

for a, b in list_a, list_b:
    print ""

11voto

Sven Marnach Punkte 525472

Sie benötigen zip():

for a, b in zip(list_a, list_b):
     # was auch immer

Wenn die Listen lang sind und Sie Python 2.x verwenden, sollten Sie vielleicht itertools.izip() verwenden, um etwas Speicher zu sparen.

0voto

Artsiom Rudzenka Punkte 26969

Oder Sie können auch die folgende Anweisung verwenden, um Listen zu kombinieren:

map(lambda x,y,z: (x,y,z), list_a, list_b, list_c)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X