Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie Elemente aus einem Python-Wörterbuch: Del oder Shallow Copy?

So entfernen Sie Elemente aus einem Python-Wörterbuch: Del oder Shallow Copy?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-26 08:55:03464Durchsuche

How to Remove Elements from a Python Dictionary: Del or Shallow Copy?

Ein Element aus einem Wörterbuch löschen

Bei der Arbeit mit Wörterbüchern in Python kann es vorkommen, dass Sie ein Element entfernen müssen. Dies kann auf zwei Arten erreicht werden:

1. Ändern des Originalwörterbuchs

Mit der del-Anweisung können Sie ein Element direkt aus dem Wörterbuch entfernen und dadurch das Originalwörterbuch ändern:

<code class="python">del d[key]</code>

wobei d das Wörterbuch und der Schlüssel ist ist der Schlüssel des zu entfernenden Elements.

2. Erhalten Sie ein neues Wörterbuch ohne das Element

Um ein neues Wörterbuch mit entferntem Element zu erhalten, ohne das ursprüngliche Wörterbuch zu ändern, können Sie die folgende Methode verwenden:

<code class="python">def removekey(d, key):
    r = dict(d)
    del r[key]
    return r</code>

Diese Funktion Erstellt zunächst mit dem dict()-Konstruktor eine Kopie des ursprünglichen Wörterbuchs d. Anschließend wird der angegebene Schlüssel aus der Kopie entfernt und die geänderte Kopie r als neues Wörterbuch zurückgegeben.

Hinweis:

  • Der dict()-Konstruktor wird ausgeführt eine flache Kopie, was bedeutet, dass Änderungen am neuen Wörterbuch keine Auswirkungen auf das ursprüngliche Wörterbuch haben und umgekehrt.
  • Bei großen Wörterbüchern kann das Erstellen von Kopien für jeden Löschvorgang ineffizient sein. Erwägen Sie die Verwendung einer anderen Datenstruktur, z. B. eines HAMT (Hashed Array Mapped Trie), für eine effiziente Elemententfernung.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie Elemente aus einem Python-Wörterbuch: Del oder Shallow Copy?. 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