Ich sehe ein merkwürdiges Verhalten, wenn ich mit der Funktion zip () arbeite. Wenn ich die folgende Operation ausführe len (list (z)) wo z ein Zip-Objekt ist, ist das Ergebnis 0 (was mir falsch scheint), und die Aktion scheint das Zip-Objekt zu löschen. Kann mir bitte jemand helfen, zu verstehen, was vor sich geht.
%Vor%Danke, Ahmed.
In Python 3 ist zip ein Generator . Der Generator ist erschöpft, wenn Sie list(z)
ausführen. Sie können eine Liste aus den vom Generator zurückgegebenen Werten erstellen und daran arbeiten.
Generatoren sind eine gute Sache. Sie erlauben uns, speichereffiziente Code in fast der gleichen Art und Weise zu schreiben, wir Code, der mit Listen beschäftigt schreiben würde. Um ein Beispiel aus dem verlinkten Wiki zu verwenden:
%Vor%Könnte als Generator neu geschrieben werden, eine weitere Liste im Speicher zu vermeiden erstellen:
%Vor%Tags und Links python python-3.x