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


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

Re: 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 Re: Supprimer efficacement "sur place" des valeurs d'un dictionnaire, dans une fonction
Date 2021-06-18 06:18 +0200
Organization There's no cabale
Message-ID <sah6qr$17v2$1@cabale.usenet-fr.net> (permalink)
References <sagccn$10af$1@cabale.usenet-fr.net> <87wnqs84ak.fsf@universite-de-strasbourg.fr.invalid>

Show all headers | View raw


Bonjour Alain,

Le 18/06/2021 01:22, Alain Ketterlin m'a répondu :
>>
>> Par exemple je pourrais écrire :
>>
>>     def moins(dict1, dict2):
>>         for k in dict2:
>>             del dict1[k]
>>         return dict1 == {}
>>
>> [...]
>>
>> Existe-t-il une méthode plus efficace ?
> 
> Pas que je sache (en général les dictionnaires ne sont pas optimisés en
> priorité pour la suppression). J'imagine que ton dictionnaire est
> référencé par ailleurs, donc ta première fonction est sûrement la bonne.

Merci de ta réponse.

> Pour le booléen en retour, tu peux aussi utiliser :
> - return len(dict1) == 0

Oui.

> - return bool(dict1)

En l'occurrence, plutôt :
- return not dict1

> Je n'aime pas les conversions, mais ici le test sera fait de la
> "meilleure" façon possible (j'imagine).

Ok. Et encore merci.

-- 
Olivier Miakinen

Back to fr.comp.lang.python | Previous | NextPrevious 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