-3
votes

Comment vérifier si toutes les valeurs d'un dictionnaire existent dans une liste?

J'ai donc un dictionnaire des préférences des utilisateurs que je voudrais vérifier et voir si toutes les valeurs de dictionnaire existent dans une liste.

Par exemple, j'ai un dictionnaire comme: p>

    for seq in poss_matches:
        for p in userprefs:
            if userprefs[p] in seq:
                matches.append(seq)


4 commentaires

Dupliqué possible de Renvoyer non si la clé du dictionnaire n'est pas disponible


@CPH_STO: Ce ne sont pas des mots-clés, mais des noms de construction, des mots-clés sont lambda , retour , def , etc., etc. et les utiliser comme Les noms d'objets se retrouveront dans SyntaxError


Désolé, je viens d'utiliser ces noms de variables par exemple, je n'ai pas réellement d'utiliser les noms des constructions intégrées.


Je vais éditer le point d'être plus précis!


4 Réponses :


1
votes

Vous pouvez essayer ceci:

def checker():
    for value in dct.values():
        if value in lst:
            continue
        else:
            return False
    return True

dct = { 'key1' : 'list1', 'key2' : 'list1'}
lst = ['list1', 'list2', 'list3', 'list4']
print(checker())


0 commentaires

1
votes

Méthode 1: xxx

Méthode 2: comme suggéré par Jon Clements . Un plus concis et succinct. xxx


1 commentaires

Merci beaucoup Jon pour vos remarques. J'ai fait une mise à jour supplémentaire.



1
votes

Vous avez besoin tout () code> avec pour boucle code> xxx pré>

sortie: p>

True


1 commentaires

J'essaie de vérifier si toutes les valeurs du dictionnaire existent dans la liste - tout (x dans lst pour x dans dct.values ​​())



1
votes

Vous pouvez essayer ci-dessous approche xxx


1 commentaires

Je ne comprends pas pourquoi personne lavotez-la .. ce n'est pas qu'une mauvaise approche .. lol ..