Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3582

Supprimer efficacement "sur place" des valeurs d'un dictionnaire, dans une fonction

From Olivier Miakinen <om+news@miakinen.net>
Newsgroups fr.comp.lang.python
Subject Supprimer efficacement "sur place" des valeurs d'un dictionnaire, dans une fonction
Date 2021-06-17 22:47 +0200
Organization There's no cabale
Message-ID <sagccn$10af$1@cabale.usenet-fr.net> (permalink)

Show all headers | View raw


Bonjour,

Je suppose que j'ai un dictionnaire dict1, et un autre dictionnaire dict2
qui est garanti être un sous-dictionnaire de dict1, dans le sens que toutes
les clés de dict2 sont aussi des clés de dict1 (il se trouve que les valeurs
correspondent aussi, mais à la limite peu importe).

Je voudrais écrire une fonction qui prenne en paramètre dict1 et dict2, qui
supprime de dict1 toutes les valeurs présentes dans dict2, et qui retourne
True ou False selon que tout a été supprimé ou non.


Par exemple je pourrais écrire :

    def moins(dict1, dict2):
        for k in dict2:
            del dict1[k]
        return dict1 == {}


Si ma fonction n'avait pas à supprimer les valeurs "sur place" je pourrais
écrire plus simplement :

    def moins(dict1, dict2):
        dict1 = { k:v for k,v in dict1.items() if not k in dict2 }
        return dict1 == {}

... mais ça ne modifierait pas le dict1 passé en paramètre.


Existe-t-il une méthode plus efficace ?


Cordaielement
-- 
Olivier Miakinen

Back to fr.comp.lang.python | Previous | NextNext in thread | Find similar


Thread

Supprimer efficacement "sur place" des valeurs d'un dictionnaire, dans une fonction Olivier Miakinen <om+news@miakinen.net> - 2021-06-17 22:47 +0200
  Re: Supprimer efficacement "sur place" des valeurs d'un dictionnaire, dans une fonction Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2021-06-18 01:22 +0200
    Re: Supprimer efficacement "sur place" des valeurs d'un dictionnaire, dans une fonction Olivier Miakinen <om+news@miakinen.net> - 2021-06-18 06:18 +0200

csiph-web