-Anweisung). Die vorliegende Beschreibung ist nur die einfachste Form, die ich gefunden habe, um das Fehlverhalten in meinem Code hervorzuheben.
Nach meinem Verständnis besteht das Grundproblem darin, dass der äußere Iter1 stoppt, sobald der innere Iter2 stoppt, was unerwartet ist.
Das Problem tritt nicht auf, wenn die Iteratorobjekte „inline“ instanziiert werden. Beispielsweise gibt [(e1, e2) für e1 in iter(range(3)) für e2 in iter(range(2))] die 6 erwarteten Tupel zurück.
Bevor ich ein Python-Problemticket öffne, hätte ich gerne etwas Feedback zu diesem seltsamen Phänomen, das ich als einfachen Fehler betrachte.
Bedenken Sie dieses Python-Snippet: [code]range1 = range(3) range2 = range(2) print([(e1, e2) for e1 in range1 for e2 in range2]) [/code] Dies zeigt wie erwartet 3x2 = 6 Tupel an: [code][(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)] [/code] Gut! Versuchen wir es nun mit dieser leichten Variante: [code]iter1 = iter(range(3)) iter2 = iter(range(2)) print([(e1, e2) for e1 in iter1 for e2 in iter2]) [/code] Die Ausgabe ist überraschend anders: [code][(0, 0), (0, 1)] [/code] Dieses Ergebnis sieht falsch oder zumindest inkonsistent aus. Dieses Verhalten tritt zumindest bei Python 2.7, 3.12 und 3.14 auf.
Hinweise: [list] [*]Es gibt viele Varianten, um das [url=viewtopic.php?t=26065]Problem[/url] hervorzuheben, einschließlich der Definition von Iteratoren durch Generatoren ([code]yield[/code]-Anweisung). Die vorliegende Beschreibung ist nur die einfachste Form, die ich gefunden habe, um das Fehlverhalten in meinem Code hervorzuheben. [*]Nach meinem Verständnis besteht das Grundproblem darin, dass der äußere Iter1 stoppt, sobald der innere Iter2 stoppt, was unerwartet ist. [*]Das [url=viewtopic.php?t=26065]Problem[/url] tritt nicht auf, wenn die Iteratorobjekte „inline“ instanziiert werden. Beispielsweise gibt [(e1, e2) für e1 in iter(range(3)) für e2 in iter(range(2))] die 6 erwarteten Tupel zurück. [/list] Bevor ich ein Python-Problemticket öffne, hätte ich gerne etwas Feedback zu diesem seltsamen Phänomen, das ich als einfachen Fehler betrachte.
Ich habe Advance für einige Iteratoren verwendet, aber ich habe Angst vor einem möglichen Leaverfrog über Ende () . Ich möchte sicherstellen, dass meine Iteratoren zwischen den Grenzen bleiben. Ich...
Ich arbeite an einem C ++ - Projekt, bei dem ich einen abstrakten Basisklassenspeicher habe, der einen Container mit Bin -Objekte darstellt. Jede Unterklasse von Store (z. B. Densestore , SparseStore...
Ich suche nach einer guten Möglichkeit, mehrere Iterables zu komprimieren und eine Ausnahme auszulösen, wenn die Längen der Iterables nicht gleich sind.
Für den Fall, dass die Iterables Listen sind...
Ich bin ein unerfahrener Full-Stack-Entwickler für Laravel und Vue/MAUI. Ich habe eine Rest-API auf Laravel geschrieben, lokal funktioniert alles korrekt (ich verwende das Betriebssystem-Panel). Ich...
Mithilfe des FastAPI-Frameworks habe ich ein Programm geschrieben, das Live-Video-Feeds von der Webcam aufnimmt und diese mithilfe der Funktion image_feed im Frontend anzeigt. Jeder Frame wird mit...