Je souhaite tester si une clé existe dans le dictionnaire avant de mettre à jour sa valeur. J'ai écrit le code suivant :
if 'key1' in dict.keys(): print "blah" else: print "boo"
Je pense que ce n'est pas la meilleure façon d'accomplir cette tâche. Existe-t-il une meilleure façon de tester les clés d’un dictionnaire ?
Utiliser directement
key in my_dict
而不是key in my_dict.keys()
:Ce sera plus rapide car il utilise un hachage O(1) du dictionnaire, plutôt que d'effectuer une recherche linéaire O(n) sur la liste des clés.
Y a-t-il une clé dans
in
测试dict
:Utilisez
dict.get()
pour fournir une valeur par défaut lorsque la clé n'existe pas :Pour fournir une valeur par défaut pour chaque clé, utilisez
dict.setdefault()
sur chaque tâche :...ou mieux encore, utilisez le module
defaultdict
来自collections
: