Überprüfen Sie, ob ein bestimmter Schlüssel bereits im Wörterbuch vorhanden ist
P粉489081732
P粉489081732 2023-10-08 11:38:59
0
2
815

Ich möchte testen, ob ein Schlüssel im Wörterbuch vorhanden ist, bevor ich seinen Wert aktualisiere. Ich habe den folgenden Code geschrieben:

if 'key1' in dict.keys():
  print "blah"
else:
  print "boo"

Ich denke, dass dies nicht der beste Weg ist, diese Aufgabe zu erfüllen. Gibt es eine bessere Möglichkeit, Schlüssel in einem Wörterbuch zu testen?

P粉489081732
P粉489081732

Antworte allen(2)
P粉674876385

直接使用key in my_dict而不是key in my_dict.keys()

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

这会更快,因为它使用字典的 O(1) 哈希,而不是执行 O(n )对键列表进行线性搜索。

P粉914731066

in 测试dict 中是否存在键:

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

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

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

使用dict.get() 当键不存在时提供默认值:

d = {}

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

要为每个键提供默认值,请使用dict.setdefault() 在每个作业上:

d = {}

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

...或者更好,使用 defaultdict 来自 collections 模块:

from collections import defaultdict

d = defaultdict(int)

for i in range(100):
    d[i % 10] += 1
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage