Kontroller, om en given nøgle allerede findes i en ordbog
Jeg ønskede at teste, om en nøgle findes i en ordbog, før jeg opdaterer værdien for nøglen. Jeg skrev følgende kode:
if 'key1' in dict.keys():
print "blah"
else:
print "boo"
Jeg tror ikke, at dette er den bedste måde at udføre denne opgave på. Er der en bedre måde at teste for en nøgle i ordbogen på?
2683
3
Du behøver ikke at ringe til nøgler:
Det vil være meget hurtigere, da det bruger ordbogens hashing i modsætning til at lave en lineær søgning, som at kalde keys ville gøre.
Du kan forkorte dette:
Dette er dog i bedste fald en kosmetisk forbedring. Hvorfor mener du, at det ikke er den bedste måde?
Jeg vil anbefale at bruge metoden
setdefault
i stedet. Det lyder som om den vil gøre alt det, du ønsker.