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


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

Re: Vérifier la présence de plusieurs clés dans un dictionnaire

From Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid>
Newsgroups fr.comp.lang.python
Subject Re: Vérifier la présence de plusieurs clés dans un dictionnaire
Date 2022-04-26 19:37 +0200
Organization Université de Strasbourg
Message-ID <874k2fwxsi.fsf@universite-de-strasbourg.fr.invalid> (permalink)
References <t475fb$17ub$1@cabale.usenet-fr.net> <t4761d$1839$1@cabale.usenet-fr.net> <878rrsw4mx.fsf@universite-de-strasbourg.fr.invalid> <t498hb$21nm$1@cabale.usenet-fr.net>

Show all headers | View raw


Olivier Miakinen <om+news@miakinen.net> writes:

>>>   not (keys - d.keys())

> <https://docs.python.org/fr/3.8/library/stdtypes.html#frozenset.difference>
> §
> Remarque : Les méthodes union(), intersection(), difference(), et
> symmetric_difference(), issubset(), et issuperset() acceptent n'importe
> quel itérable comme argument, contrairement aux opérateurs équivalents
> qui n'acceptent que des sets.
> §
>
> En lisant cette remarque, j'ai cru à tort qu'elle disait que « - »
> acceptait n'importe quel itérable à gauche et à droite, alors qu'au
> ça ne vaut pour « difference() », et encore, seulement pour son
> argument !
>
> Bon, il se trouve que ça marche (et que ça retourne effectivement un
> set) mais je suis bien sûr preneur d'une meilleure solution.

Oui, mais je pense que ça marche grâce aux "reflected/swapped operands",
qui fait si il n'y a pas de __sub__ sur list, la méthode __rsub__ de set
(ou ce que renvoie keys()) est utilisée...

https://docs.python.org/3/reference/datamodel.html#object.__radd__

>> all (k in d for k in keys)

> Ni le dictionnaire ni la liste ne sont très gros (moins de 20 entrées
> pour le dictionnaire, et entre 3 et 6 pour la liste), mais ta solution
> présente surtout l'intérêt d'être plus lisible. Cette commande 'all'
> est vraiment ce qu'il me faut !

Dans ce cas, "beauty is in the eye of the beholder", choisis ce que tu
comprendras le plus facilement quand tu reliras le code dans 3
semaines/mois/années/.

-- Alain.

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


Thread

Vérifier la présence de plusieurs clés dans un dictionnaire Olivier Miakinen <om+news@miakinen.net> - 2022-04-25 23:56 +0200
  Re: Vérifier la présence de plusieurs clés dans un dictionnaire Olivier Miakinen <om+news@miakinen.net> - 2022-04-26 00:06 +0200
    Re: Vérifier la présence de plusieurs clés dans un dictionnaire Nicolas <nicolasp@aaton.com> - 2022-04-26 10:03 +0200
    Re: Vérifier la présence de plusieurs clés dans un dictionnaire Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-04-26 11:55 +0200
      Re: Vérifier la présence de plusieurs clés dans un dictionnaire Olivier Miakinen <om+news@miakinen.net> - 2022-04-26 19:01 +0200
        Re: Vérifier la présence de plusieurs clés dans un dictionnaire Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-04-26 19:37 +0200
          Re: Vérifier la présence de plusieurs clés dans un dictionnaire Olivier Miakinen <om+news@miakinen.net> - 2022-04-26 22:07 +0200
      Re: Vérifier la présence de plusieurs clés dans un dictionnaire Olivier Miakinen <om+news@miakinen.net> - 2022-04-26 22:32 +0200
    Re: Vérifier la présence de plusieurs clés dans un dictionnaire Olivier Miakinen <om+news@miakinen.net> - 2022-04-27 15:10 +0200

csiph-web