Heim > Artikel > Backend-Entwicklung > Wie hat Python in Versionen vor 3.7 mit der Reihenfolge der Wörterbuchschlüssel umgegangen?
Beim Abrufen der Schlüssel eines Wörterbuchs mit der Methode „keys()“ in Python-Versionen vor 3.7 wird die Reihenfolge von Die Schlüssel in der zurückgegebenen Liste können willkürlich erscheinen. Diese Unvorhersehbarkeit ist darauf zurückzuführen, wie Python in früheren Versionen mit Wörterbüchern umgegangen ist.
Ab Python 3.7 behalten Wörterbücher standardmäßig die Einfügereihenfolge bei. Dies bedeutet, dass die Schlüssel in der Ausgabeliste „keys()“ mit der Reihenfolge übereinstimmen, in der sie in das Wörterbuch eingefügt wurden.
In Python 3.6 (insbesondere der CPython-Implementierung). ), verwenden Wörterbücher standardmäßig auch die Beibehaltung der Einfügungsreihenfolge. Dies gilt jedoch als Implementierungsdetail und seine Zuverlässigkeit über verschiedene Python-Implementierungen hinweg kann nicht garantiert werden.
Für Python-Versionen zwischen 2.7 und 3.6 gilt: Die Reihenfolge der Schlüssel in der Liste „keys()“ wird durch eine Hash-Funktion bestimmt. Es wird nicht garantiert, dass diese Hash-Funktion stabil ist, daher kann die Reihenfolge der Schlüssel zwischen den Ausführungen variieren, selbst bei denselben Eingabedaten.
Um die Einfügungsreihenfolge in diesen früheren Versionen von Python sicherzustellen, sollten Sie die Sammlungen verwenden. OrderedDict-Klasse. Diese Klasse garantiert, dass die Schlüssel in der Reihenfolge abgerufen werden, in der sie eingefügt wurden:
import collections d = collections.OrderedDict({'a': 0, 'b': 1, 'c': 2}) l = d.keys() print(l) # Output: ['a', 'b', 'c']
Das obige ist der detaillierte Inhalt vonWie hat Python in Versionen vor 3.7 mit der Reihenfolge der Wörterbuchschlüssel umgegangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!