Comment supprimer des éléments d'un dictionnaire Python : suppression ou copie superficielle ?

Patricia Arquette
Libérer: 2024-10-26 08:55:03
original
572 Les gens l'ont consulté

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

Supprimer un élément d'un dictionnaire

Lorsque vous travaillez avec des dictionnaires en Python, il peut arriver un moment où vous devez supprimer un élément. Ceci peut être réalisé de deux manières :

1. Modification du dictionnaire d'origine

À l'aide de l'instruction del, vous pouvez directement supprimer un élément du dictionnaire, modifiant ainsi le dictionnaire d'origine :

<code class="python">del d[key]</code>
Copier après la connexion

où d est le dictionnaire et la clé est la clé de l'élément à supprimer.

2. Obtenir un nouveau dictionnaire sans l'élément

Pour obtenir un nouveau dictionnaire avec l'élément supprimé, sans modifier le dictionnaire d'origine, vous pouvez utiliser la méthode suivante :

<code class="python">def removekey(d, key):
    r = dict(d)
    del r[key]
    return r</code>
Copier après la connexion

Cette fonction crée d'abord une copie du dictionnaire original d à l'aide du constructeur dict(). Ensuite, il supprime la clé spécifiée de la copie et renvoie la copie modifiée r en tant que nouveau dictionnaire.

Remarque :

  • Le constructeur dict() exécute une copie superficielle, ce qui signifie que les modifications apportées au nouveau dictionnaire n'affecteront pas le dictionnaire d'origine et vice versa.
  • Pour les dictionnaires volumineux, créer des copies pour chaque opération de suppression peut s'avérer inefficace. Envisagez d'utiliser une structure de données différente, telle qu'un HAMT (trie hachée mappée par tableau), pour une suppression efficace des éléments.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal