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

Liste des GroupesRevenir à fcl python 
Sujet : Re: Vérifier la présence de plusieurs clés dans un dictionnaire
De : alain (at) *nospam* universite-de-strasbourg.fr.invalid (Alain Ketterlin)
Groupes : fr.comp.lang.python
Date : 26. Apr 2022, 11:55:18
Autres entêtes
Organisation : Université de Strasbourg
Message-ID : <878rrsw4mx.fsf@universite-de-strasbourg.fr.invalid>
References : 1 2
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
Olivier Miakinen <om+news@miakinen.net> writes:

Soit maintenant une liste de plusieurs clés keys=[key1, key2, ... keyn].
 
Quelle serait la façon la plus économique pour vérifier que toutes les clés
listées dans keys sont présentes dans le dictionnaire d ? Je n'ai pas besoin
de savoir précisément quelles clés sont présentes, je voudrais juste un test
qui me réponde True si tous les élements de keys sont bien des clés dans d,
False si au moins un élément de keys n'est pas une clé dans d.
>
Ceci devrait faire l'affaire :
  not (keys - d.keys())
>
Sauf erreur de ma part, ça répondra True si la différence entre mon tableau
de clés et les vraies clés du dictionnaire est un ensemble vide, False si
la différence contient au moins une clé (présente donc dans keys et pas dans
d.keys())

Je m'interroge sur cette façon de faire... keys est une liste, d.keys()
une "vue", je ne vois pas bien de quel opérateur - il s'agit (le
résultat est un set, en tout cas). Bref, cela fait bien ce que tu veux
apparemment.

Si le dictionnaire est volumineux et la liste courte, il vaut peut-être
mieux faire quelque chose comme

all (k in d for k in keys)

cela évitera la création explicite d'un set dans le seul but de tester
s'il est vide, et j'imagine que cela arrête la recherche au premier
False, ce que semble confirmer la doc de all.

(Difficile d'en dire plus parce que toutes ces opérations ont une
complexité --voire un comportement -- mal documentée.)

-- Alain.

Date Sujet#  Auteur
25 Apr 22 * Vérifier la présence de plusieurs clés dans un dictionnaire9Olivier Miakinen
26 Apr 22 `* Re: Vérifier la présence de plusieurs clés dans un dictionnaire8Olivier Miakinen
26 Apr 22  +- Re: Vérifier la présence de plusieurs clés dans un dictionnaire1Nicolas
26 Apr 22  +* Re: Vérifier la présence de plusieurs clés dans un dictionnaire5Alain Ketterlin
26 Apr 22  i+* Re: Vérifier la présence de plusieurs clés dans un dictionnaire3Olivier Miakinen
26 Apr 22  ii`* Re: Vérifier la présence de plusieurs clés dans un dictionnaire2Alain Ketterlin
26 Apr 22  ii `- Re: Vérifier la présence de plusieurs clés dans un dictionnaire1Olivier Miakinen
26 Apr 22  i`- Re: Vérifier la présence de plusieurs clés dans un dictionnaire1Olivier Miakinen
27 Apr 22  `- Re: Vérifier la présence de plusieurs clés dans un dictionnaire1Olivier Miakinen

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal