Vérifier si une clé donnée existe déjà dans le dictionnaire
P粉489081732
P粉489081732 2023-10-08 11:38:59
0
2
841

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 ?

P粉489081732
P粉489081732

répondre à tous(2)
P粉674876385

Utiliser directementkey in my_dict而不是key in my_dict.keys() :

if 'key1' in my_dict:
    print("blah")
else:
    print("boo")

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.

P粉914731066

Y a-t-il une clé dans

in 测试dict :

d = {"key1": 10, "key2": 23}

if "key1" in d:
    print("this will execute")

if "nonexistent key" in d:
    print("this will not")

Utilisez dict.get() pour fournir une valeur par défaut lorsque la clé n'existe pas :

d = {}

for i in range(100):
    key = i % 10
    d[key] = d.get(key, 0) + 1

Pour fournir une valeur par défaut pour chaque clé, utilisez dict.setdefault() sur chaque tâche :

d = {}

for i in range(100):
    d[i % 10] = d.setdefault(i % 10, 0) + 1

...ou mieux encore, utilisez le module defaultdict 来自 collections :

from collections import defaultdict

d = defaultdict(int)

for i in range(100):
    d[i % 10] += 1
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal