Ändern den Schlüssel in einem Dictionary in Python

  1. Weisen Sie einen neuen Schlüssel zu und löschen Sie den alten Schlüssel in einem Dictionary in Python
  2. Verwendung der Funktion pop() in Python
  3. Durchlaufen Sie das Dictionary mit einer for-Schleife und ändern Sie den Schlüssel in einem Dictionary in Python
  4. Eine völlig neue Instanz in Python erstellen
  5. Verwendung der Klasse OrderedDict in Python
  6. Verwendung von die Funktion Pandas.DataFrame in Python
Ändern den Schlüssel in einem Dictionary 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.

  1. Weisen Sie dem alten Schlüssel einen neuen Schlüssel zu.
  2. Löschen Sie den alten Schlüssel.

Sehen Sie sich das folgende Beispiel an, das diese Schritte veranschaulicht.

Python
 pythonCopydict_ex[new_key] = dict_ex[old_key]
del dict_ex[old_key]

Der folgende Code veranschaulicht diese Methode.

Python
 pythonCopydict_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:

 textCopyOld 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.

Das folgende Beispiel veranschaulicht dies.

Python
 pythonCopydict_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:

 textCopyOld 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.

Python
 pythonCopydict_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:

 textCopyOld 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.

Python
 pythonCopydict_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.

Python
 pythonCopydict_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:

 textCopy{'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.

Python
 pythonCopyfrom 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.

Python
 pythonCopyfrom 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:

 textCopyOrderedDict([('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.

Python
 pythonCopyimport 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.

Python
 pythonCopyimport 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:

 textCopy{1: 'Jan', 2: 'Feb', 3: 'Mar'}
{11: 'Jan', 2: 'Feb', 3: 'Mar'}
Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren

Verwandter Artikel - Python Dictionary