所以我必须搜索字典中是否存在密钥。来自这篇文章:here
我可以看到检查这个的预期方法是使用:
if key in dict
但我的问题是,这样做会更好:
def appendToMyDict(key, value):
try:
old_value = dict[key]
newValue = old_value + value
dict[key] = newValue
except KeyError:
dict[key] = value
我的目的是尽可能地优化“获取密钥”,因为我的密钥空间非常大,大约1000或以上。
我看到它的方式是字典是哈希图。因此,当我执行dict [key]时,python将对键进行散列,并且在O(1)时间内将获得其值。但是在使用“if key in dict”方法搜索密钥时,需要花费时间O(n)[因为它将搜索整个密钥空间]。
但如果我抛出错误,则需要O(1) + time to throw and catch the error.
我说错了吗?
答案 0 :(得分:0)
key in dict
是O(1),假设dict
实际上是字典。