Den Unterschied zwischen dict.items() und dict.iteritems() in Python 2 verstehen
Wie Sie in Ihrer Frage erwähnt haben, In Python 2 gibt es zwei Methoden zum Abrufen von Schlüssel-Wert-Paaren aus einem Wörterbuch: dict.items() und dict.iteritems(). Während die von Ihnen bereitgestellte Ausgabe darauf schließen lässt, dass sie Verweise auf dasselbe Objekt zurückgeben, sind wichtige Unterschiede zu beachten.
Der Hauptunterschied zwischen den beiden Methoden liegt in ihren Rückgabewerten. dict.items() gibt eine Kopie der Liste der (Schlüssel-Wert-)Paare des Wörterbuchs zurück. Dies bedeutet, dass alle am ursprünglichen Wörterbuch vorgenommenen Änderungen nicht in der von dict.items() zurückgegebenen Kopie widergespiegelt werden. Andererseits gibt dict.iteritems() einen Iterator zurück, der die (Schlüssel-Wert-)Paare des Wörterbuchs durchläuft. Es erstellt keine Kopie, sondern bietet stattdessen eine Möglichkeit, die Paare zu durchlaufen.
Der Grund, warum dict.items() eine Kopie zurückgibt, ist Effizienz. In älteren Versionen von Python würde das Durchlaufen der Elemente in einem Wörterbuch mit dict.items() für jede Iteration eine neue Liste erstellen. Dies ist insbesondere bei großen Wörterbüchern ein zeitaufwändiger Vorgang. Durch die Rückgabe einer Kopie eliminiert dict.items() die Erstellung mehrerer Listen und reduziert so die zeitliche Komplexität des Vorgangs.
In Ihrem Beispiel erscheinen sowohl dict.items() als auch dict.iteritems() so Geben Sie Verweise auf dasselbe Objekt zurück, da Sie die Paare durchlaufen und sie mit den Werten im Originalwörterbuch vergleichen. Wenn Sie jedoch Änderungen am Wörterbuch vornehmen würden, würden Sie feststellen, dass dict.items() eine aktualisierte Liste zurückgibt, während dict.iteritems() weiterhin über die ursprünglichen Paare iteriert.
Um es zusammenzufassen: dict .items() gibt eine Kopie der (Schlüssel, Wert)-Paare des Wörterbuchs zurück, während dict.iteritems() einen Iterator über die Paare zurückgibt. Die Wahl zwischen den beiden Methoden hängt davon ab, ob Sie eine Kopie oder einen Iterator benötigen. In Python 3 wurde dict.items() dahingehend weiterentwickelt, dass es eine Ansicht zurückgibt, sodass dict.iteritems() nicht mehr erforderlich ist.
Das obige ist der detaillierte Inhalt vonWas ist der Hauptunterschied zwischen den Methoden „dict.items()' und „dict.iteritems()' von Python 2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!