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 den []-Operator zum Zuweisen des Werts zum neuen Schlüssel:
<code class="python">mydict["k_new"] = mydict.pop("k_old")</code>
Dieser Vorgang verschiebt das Element effektiv an das Ende des Wörterbuchs, es sei denn, k_new ist bereits vorhanden. In diesem Fall wird der vorhandene Wert überschrieben.
OrderedDict
OrderedDict, eingeführt in Python 3.7, behält die Einfügereihenfolge des Schlüssels bei -Wert-Paare. 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!