In Python kann man mehrere Iteratoren in einem Listenverständnis haben, wie
[(x,y) for x in a for y in b]
für einige geeignete Sequenzen a und b. Ich bin mir der verschachtelten Schleifensemantik von Pythons Listenauffassungen bewusst.
Meine Frage ist: Kann ein Iterator in der Comprehension auf den anderen verweisen? Mit anderen Worten: Könnte ich etwas wie dieses haben:
[x for x in a for a in b]
wobei der aktuelle Wert der äußeren Schleife der Iterator der inneren Schleife ist?
Wenn ich zum Beispiel eine verschachtelte Liste habe:
a=[[1,2],[3,4]]
Wie würde der Ausdruck für das Listenverständnis lauten, um dieses Ergebnis zu erzielen?
[1,2,3,4]
?? (Bitte geben Sie nur verständliche Antworten an, denn das ist es, was ich herausfinden möchte).
1 Stimmen
Ich weiß nicht, wer diese Frage als Duplikat geschlossen hat einer anderen Frage die 4 Jahre jünger ist als diese. Wenn überhaupt, wäre die andere Frage das Duplikat. Aber ich bezweifle auch, dass sie dasselbe Problem ansprechen. In der anderen Frage geht es speziell um die Umwandlung von Elementen in verschachtelten Listen, in dieser Frage geht es um die internen Abhängigkeiten von mehreren Iteratoren innerhalb von Listenauflösungen. Natürlich muss man erst das eine verstehen, bevor man das andere angehen kann.