Heim  >  Artikel  >  Backend-Entwicklung  >  Wie benennt man Schlüssel in Python-Wörterbüchern um?

Wie benennt man Schlüssel in Python-Wörterbüchern um?

DDD
DDDOriginal
2024-11-02 13:15:02463Durchsuche

How do you Rename Keys in Python Dictionaries?

Wörterbuchschlüssel umbenennen: Eine umfassende Lösung

Das Python-Wörterbuch ist eine vielseitige Datenstruktur, die ein effizientes Speichern und Abrufen von Schlüsselwerten ermöglicht Paare. In bestimmten Szenarien kann es jedoch erforderlich sein, einen Schlüssel umzubenennen, ohne seinen Wert zu ändern oder die Organisation des Wörterbuchs zu stören. Diese Frage befasst sich mit diesem Problem und bietet eine Reihe von Lösungen, die sowohl auf reguläre Wörterbücher als auch auf OrderedDicts zugeschnitten sind.

Regular Dict

Für ein reguläres Wörterbuch besteht ein einfacher Ansatz in der Verwendung von pop()-Methode zum Entfernen des alten Schlüssels und der []-Operator zum Zuweisen des Werts zum neuen Schlüssel:

<code class="python">mydict["k_new"] = mydict.pop("k_old")</code>

Diese Operation verschiebt das Element effektiv an das Ende des Wörterbuchs, sofern k_new nicht bereits vorhanden ist In diesem Fall wird der vorhandene Wert überschrieben.

OrderedDict

OrderedDict, eingeführt in Python 3.7, behält die Einfügereihenfolge von Schlüssel-Wert-Paaren bei. Um einen Schlüssel umzubenennen und dabei die Reihenfolge beizubehalten:

<code class="python">OrderedDict((k_new if k == k_old else k, v) for k, v in od.items())</code>

Dadurch werden neuen Schlüsseln mithilfe eines Generatorausdrucks Werte zugewiesen, um sicherzustellen, dass die Reihenfolge beibehalten wird.

Bewahrung der Reihenfolge in Python 3.7 Dict

Python 3.7-Wörterbücher behalten von Haus aus die Einfügereihenfolge bei. Um einen Schlüssel umzubenennen und dabei diese Reihenfolge beizubehalten:

<code class="python">d = {0:0, 1:1, 2:2, 3:3}
{k: v for k, v in d.items() if k != k_old} | {k_new: d[k_old]}</code>

Ändern des Schlüssels selbst

Bei der Frage geht es darum, den Schlüssel selbst zu ändern. Da Schlüssel in Python jedoch hashbar und unveränderlich sind, ist eine direkte Schlüsseländerung nicht möglich. Durch die Neuzuweisung des Werts mit dem gewünschten Schlüsselnamen und das Entfernen des alten Schlüssels bleibt das Wörterbuch jedoch intakt, wodurch der Schlüssel effektiv „umbenennt“ wird, ohne ihn direkt zu ändern.

Das obige ist der detaillierte Inhalt vonWie benennt man Schlüssel in Python-Wörterbüchern um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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