Warum funktioniert diese Implementierung von izip () nicht?

8

Um Pythons Generator besser zu verstehen, versuche ich Einrichtungen im Modul itertools zu implementieren und bekomme Probleme mit izip :

%Vor%

Mein Code verwendet die Zeile ERROR, und die Referenzimplementierung (im Handbuch angegeben) verwendet die OK-Zeile, wobei andere kleine Unterschiede nicht berücksichtigt werden. Mit diesem Ausschnitt:

%Vor%

Meine Code-Ausgaben:

%Vor%

, während die erwartete Ausgabe ist:

%Vor%

Was ist falsch an meinem Code, bitte?

    
wdscxsj 11.04.2012, 14:50
quelle

1 Antwort

12

Der Grund, warum Ihre Implementierung nicht funktioniert, ist, dass die StopIteration -Ausnahme, die dadurch verursacht wird, dass eines der Iterables erschöpft ist, innerhalb eines Generatorausdrucks ausgelöst wird. Es wird nur den Generatorausdruck beenden, nicht die umschließende Generatorfunktion.

    
Sven Marnach 11.04.2012, 14:54
quelle

Tags und Links