Controleer of een gegeven sleutel al bestaat in een woordenboek
Ik wilde testen of een sleutel bestaat in een woordenboek alvorens de waarde voor de sleutel bij te werken. Ik schreef de volgende code:
if 'key1' in dict.keys():
print "blah"
else:
print "boo"
Ik denk dat dit niet de beste manier is om deze taak uit te voeren. Is er een betere manier om te testen op een sleutel in het woordenboek?
2683
3
Je hoeft geen sleutels te bellen:
Dat zal veel sneller zijn, omdat het de hashing van het woordenboek gebruikt in plaats van een lineaire zoekactie te doen, wat het aanroepen van sleutels zou doen.
Je kunt dit inkorten:
Dit is echter hooguit een cosmetische verbetering. Waarom denk je dat dit niet de beste manier is?
Ik zou aanraden om in plaats daarvan de
setdefault
methode te gebruiken. Het klinkt alsof het alles zal doen wat je wilt.