Maison  >  Article  >  développement back-end  >  Comment supprimer des éléments d'un dictionnaire Python : suppression ou copie superficielle ?

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

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 08:55:03464parcourir

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>

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>

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!

Déclaration:
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