Ändern den Schlüssel in einem Dictionary in Python

Najwa Riyaz 10 Oktober 2023
  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.

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