Проверка дали даден ключ вече съществува в речника
Исках да проверя дали даден ключ съществува в речника, преди да актуализирам стойността на ключа. Написах следния код:
if 'key1' in dict.keys():
print "blah"
else:
print "boo"
Мисля, че това не е най-добрият начин за изпълнение на тази задача. Има ли по-добър начин за тестване на ключ в речника?
2683
3
Не е нужно да се обаждате на ключове:
Това ще бъде много по-бързо, тъй като се използва хеширането на речника, а не линейното търсене, което би се извършило с извикване на ключовете.
Можете да го съкратите:
Това обаче е най-малкото козметично подобрение. Защо смятате, че това не е най-добрият начин?
Бих препоръчал вместо това да използвате метода
setdefault
. Изглежда, че той ще направи всичко, което искате.