Ist die Korrespondenz zwischen „keys()' und „values()' in Python-Wörterbüchern garantiert?

Mary-Kate Olsen
Freigeben: 2024-11-10 03:09:02
Original
202 Leute haben es durchsucht

Is the Correspondence Between `keys()` and `values()` in Python Dictionaries Guaranteed?

Sicherstellen der Korrespondenz zwischen Wörterbuchschlüsseln und -werten

In Python-Wörterbüchern bieten die Methoden „keys()“ und „values()“ Zugriff auf die Schlüssel und Werte im Wörterbuch. Es wurde beobachtet, dass die von diesen Methoden zurückgegebenen Listen scheinbar eine Eins-zu-Eins-Zuordnung beibehalten, wobei der i-te Schlüssel von „keys()“ dem i-ten Wert von „values()“ entspricht.

Es ist jedoch wichtig zu überprüfen, ob diese Zuordnung immer gewährleistet ist. Konkret: Wenn ein Wörterbuch zwischen dem Aufruf von „keys()“ und „values()“ nicht geändert wird, können wir dann davon ausgehen, dass sie immer entsprechende Listen liefern?

Offizielle Dokumentation

In der Dokumentation zu Python-Wörterbüchern wird nicht explizit angegeben, ob die Reihenfolge von „keys()“ und „values()“ beibehalten wird. Es liefert jedoch einen Hinweis:

d = {'one':1, 'two': 2, 'drei': 3}
k, v = d. keys(), d.values()
für i in range(len(k)):
print d[k[i]] == v[i]
Nach dem Login kopieren

True
True
True

Dieses Beispiel zeigt, dass keine Änderungen am Wörterbuch vorgenommen werden Zwischen dem Aufruf von „keys()“ und „values()“ gibt die for-Schleife durchgängig „True“ aus, was auf eine Entsprechung zwischen den hindeutet Listen.

Weitere Beobachtungen

Um diese Beobachtung zu bestätigen, wurde eine umfangreichere Suche durchgeführt:

  • In der 2.x-Dokumentation heißt es: „Wenn items(),keys(),values(),iteritems(),iterkeys() und itervalues() ohne dazwischenliegende Änderungen an aufgerufen werden Wörterbuch entsprechen die Listen direkt tatsächlich erhalten, solange das Wörterbuch unverändert bleibt.
  • Schlussfolgerung

Basierend auf der offiziellen Dokumentation und Aus empirischen Beobachtungen können wir schließen, dass, wenn Sie „keys()“ und „values()“ in einem Python-Wörterbuch aufrufen, ohne zwischen den Aufrufen irgendwelche Änderungen am Wörterbuch vorzunehmen, Sie sich auf eine Eins-zu-eins-Entsprechung zwischen den Listen von Schlüsseln und Werten verlassen können . Diese zuverlässige Zuordnung vereinfacht die Wörterbuchmanipulation und sorgt für vorhersehbares Verhalten in gängigen Programmierszenarien.

Das obige ist der detaillierte Inhalt vonIst die Korrespondenz zwischen „keys()' und „values()' in Python-Wörterbüchern garantiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage