我没有从根本上理解为什么在字典中搜索密钥比迭代字典的密钥以找到匹配的密钥更快。我想,当用key in dict
之类的东西在python中搜索一个键时,后台代码将迭代通过键来查找匹配。那么为什么用for i in dict: key == i
?
答案 0 :(得分:3)
您想象不正确:搜索单个键使用散列函数,因此它是对内存中所需位置的间接引用(两步计算)。可以将其视为表单
的数组引用array[hash_function(key)]
答案 1 :(得分:3)
因为python中的字典是使用哈希表实现的。想一想类似于关系数据库中索引的东西,它可以使关键搜索操作更快。