Ändern den Schlüssel in einem Dictionary in Python
- Weisen Sie einen neuen Schlüssel zu und löschen Sie den alten Schlüssel in einem Dictionary in Python
-
Verwendung der Funktion
pop()
in Python -
Durchlaufen Sie das Dictionary mit einer
for
-Schleife und ändern Sie den Schlüssel in einem Dictionary in Python - Eine völlig neue Instanz in Python erstellen
-
Verwendung der Klasse
OrderedDict
in Python -
Verwendung von die Funktion
Pandas.DataFrame
in Python
In diesem Artikel werden verschiedene Methoden zum Ändern des Schlüssels in einem Dictionary in Python vorgestellt.
Weisen Sie einen neuen Schlüssel zu und löschen Sie den alten Schlüssel in einem Dictionary in Python
Gehen Sie folgendermaßen vor, um den Schlüssel in einem Dictionary in Python zu ändern.
- Weisen Sie dem alten Schlüssel einen neuen Schlüssel zu.
- Löschen Sie den alten Schlüssel.
Sehen Sie sich das folgende Beispiel an, das diese Schritte veranschaulicht.
dict_ex[new_key] = dict_ex[old_key]
del dict_ex[old_key]
Der folgende Code veranschaulicht diese Methode.
dict_ex = {1: "January", 2: "Febuary", 3: "March"}
print("Old dictionary-", dict_ex)
dict_ex[2.1] = dict_ex[2]
del dict_ex[2]
print("New dictionary-", dict_ex)
Hier sehen wir, dass der Wert des Schlüssels 2
durch den Wert 2.1
ersetzt wird. Beachten Sie, wie das aktualisierte Schlüssel-Wert-Paar an das Ende des Dictionaries verschoben wurde.
Ausgabe:
Old dictionary- {1: 'January', 2: 'Febuary', 3: 'March'}
New dictionary- {1: 'January', 3: 'March', 2.1: 'Febuary'}
Verwendung der Funktion pop()
in Python
Um den Schlüssel in einem Dictionary in Python zu ändern, befolgen Sie die folgenden Schritte.
-
Pop den alten Schlüssel mit der Funktion
pop
. Folgen Sie diesem Beispiel.pop(old_key)
-
Weisen Sie dem aufgetauchten alten Schlüssel einen neuen Schlüssel zu. Folgen Sie diesem Beispiel.
dict_ex[new_key] = dict_ex.pop(old_key)
Das folgende Beispiel veranschaulicht dies.
dict_ex = {1: "January", 2: "Febuary", 3: "March"}
print("Old dictionary-", dict_ex)
dict_ex[2.2] = dict_ex.pop(2)
print("New dictionary-", dict_ex)
Ausgabe:
Old dictionary- {1: 'January', 2: 'Febuary', 3: 'March'}
New dictionary- {1: 'January', 3: 'March', 2.2: 'Febuary'}
Hier sehen wir, dass der Wert des Schlüssels 2
durch den Wert 2.2
ersetzt wird. Beachten Sie, wie das aktualisierte Schlüssel-Wert-Paar an das Ende des Dictionaries verschoben wurde.
Durchlaufen Sie das Dictionary mit einer for
-Schleife und ändern Sie den Schlüssel in einem Dictionary in Python
Dazu nehmen Sie zunächst das Ziel-Dictionary und ein weiteres Dictionary mit dem neuen Schlüsselwert. Danach schalten Sie schließlich alle Tasten mit einer for
-Schleife entsprechend um.
dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
print("Old dictionary-", dict_ex)
new_key_assign = {1: 111, 2: 2, 3: 3}
print("New dictionary-")
print(dict([(new_key_assign.get(key), value) for key, value in dict_ex.items()]))
Hier sehen wir, dass der Wert des Schlüssels 1
durch den Wert 111
ersetzt wird. Bitte beachten Sie, wie das aktualisierte Schlüssel-Wert-Paar diesmal beibehalten wurde.
Ausgabe:
Old dictionary- {1: 'Jan', 2: 'Feb', 3: 'Mar'}
New dictionary-
{111: 'Jan', 2: 'Feb', 3: 'Mar'}
Eine völlig neue Instanz in Python erstellen
Im Python 3.7+ Dictionary können Sie die Reihenfolge beibehalten. Erstellen Sie dazu eine völlig neue Instanz des Dictionaries wie folgt neu.
dict_ex = {"old_key": "Jan", 2: "Feb", 3: "Mar"}
{"new_key" if k == "old_key" else k: v for k, v in dict_ex.items()}
Hier ist ein Beispiel, das dies demonstriert.
dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
print({"one" if k == 1 else k: v for k, v in dict_ex.items()})
Hier sehen wir, dass der Wert 1
des Schlüssels durch den Wert one
ersetzt wird. Bitte beachten Sie, wie das aktualisierte Schlüssel-Wert-Paar diesmal beibehalten wurde.
Ausgabe:
{'one': 'Jan', 2: 'Feb', 3: 'Mar'}
Verwendung der Klasse OrderedDict
in Python
Im Python 3.7+ Dictionary können Sie die Reihenfolge beibehalten, indem Sie das OrderedDict
zusammen mit einem Generatorausdruck verwenden.
Beachten Sie, dass Sie zuerst OrderedDict
aus collections
importieren müssen. Verwenden Sie dann die Klasse OrderedDict
.
from collections import OrderedDict
dict_ex = {"old_key": "Jan", 2: "Feb", 3: "Mar"}
OrderedDict(("new_key" if k == 1 else k, v) for k, v in dict_ex.items())
Hier ist ein Beispiel, dem Sie folgen können.
from collections import OrderedDict
dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
OrderedDict(("one" if k == 1 else k, v) for k, v in dict_ex.items())
Hier sehen wir, dass der Wert 1
des Schlüssels durch den Wert eins
ersetzt wird. Bitte beachten Sie, wie das aktualisierte Schlüssel-Wert-Paar diesmal beibehalten wurde.
Ausgabe:
OrderedDict([('one', 'Jan'), (2, 'Feb'), (3, 'Mar')])
Verwendung von die Funktion Pandas.DataFrame
in Python
Sie können Pandas verwenden, um einen Schlüssel in einem Dictionary in Python zu ändern. Importieren Sie zunächst die Bibliothek pandas
.
Verwenden Sie dann das Dienstprogramm DataFrame
wie folgt.
import pandas as pd
old_dictionary = {"old_value": "Jan", 2: "Feb", 3: "Mar"}
new_dictionary = {"new_value": "Jan", 2: "Feb", 3: "Mar"}
df = pd.DataFrame([old_dictionary, new_dictionary])
Überprüfen Sie dieses Beispielprogramm.
import pandas as pd
dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
print(dict_ex)
new_dict_ex = {11: "Jan", 2: "Feb", 3: "Mar"}
df = pd.DataFrame([dict_ex, new_dict_ex])
print(new_dict_ex)
Hier sehen wir, dass der Wert des Schlüssels 1
durch den Wert 11
ersetzt wird. Bitte beachten Sie, wie das aktualisierte Schlüssel-Wert-Paar diesmal beibehalten wurde.
Ausgabe:
{1: 'Jan', 2: 'Feb', 3: 'Mar'}
{11: 'Jan', 2: 'Feb', 3: 'Mar'}
Verwandter Artikel - Python Dictionary
- Wie man prüft, ob ein Schlüssel in einem Dictionary in Python vorhanden ist
- Konvertieren eines Dictionaries in eine Liste in Python
- So erhalten Sie alle Dateien eines Verzeichnisses
- Wie finde ich den Maximalwert im Python-Dictionary
- Wie man ein Python-Dictionary nach Wert sortiert
- Wie man zwei Wörterbücher in Python 2 und 3 zusammenführen kann