python 字典键搜索

2024-02-21

我想知道如何对 python 字典中的键执行某种索引。这本词典大约容纳了400,000 个项目,所以我试图避免线性搜索。

基本上,我想知道是否userinput位于任何字典键内。

for keys in dict:
    if userinput in keys:
        DoSomething()
        break

这就是我正在尝试做的一个例子。有没有一种方法可以更直接地进行搜索,而不需要循环?或者什么是更有效的方法。

澄清: The userinput并不完全是关键,例如userinput可能log,而关键是logfile

Edit:在搜索之前可以完成的任何列表/缓存创建、预处理或组织都是可接受的。唯一需要快速的是寻找钥匙。


如果您只需要查找以前缀开头的键,那么您可以使用trie http://en.wikipedia.org/wiki/Trie。存在更复杂的数据结构来查找其中任意位置包含子字符串的键,但它们占用更多的存储空间,因此这是一个时空权衡。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 字典键搜索 的相关文章