In Python können Sie mehrere Iteratoren in einem Listenverständnis haben, wie z
[(x,y) for x in a for y in b]
für einige geeignete Sequenzen a und b. Mir ist die Semantik verschachtelter Schleifen in Pythons Listenverständnis bekannt.
Meine Frage ist: Kann sich ein Iterator im Verständnis auf den anderen beziehen? Mit anderen Worten: Könnte ich so etwas haben:
[x for x in a for a in b]
Wo ist der aktuelle Wert der äußeren Schleife der Iterator der inneren?
Wenn ich beispielsweise eine verschachtelte Liste habe:
a=[[1,2],[3,4]]
Was wäre der Ausdruck für das Listenverständnis, um dieses Ergebnis zu erzielen:
[1,2,3,4]
?? (Bitte nur Verständnisantworten auflisten, da ich dies herausfinden möchte).
[x for b in a for x in b]
Dies hat immer über Python abgehört. Diese Syntax ist so rückwärts. Die allgemeine Form von hatx for x in y
immer die Variable direkt nach dem for, füttert den Ausdruck links vom for. Sobald Sie ein doppeltes Verständnis haben, ist Ihre zuletzt iterierte Variable plötzlich so weit. Es ist umständlich und liest sich überhaupt nicht natürlich