我想知道如何对 python 字典中的键执行某种索引。该词典包含约。 400,000 个项目,所以我尽量避免线性搜索。
基本上,我试图找出 userinput
是否在任何字典键内。
for keys in dict:
if userinput in keys:
DoSomething()
break
这将是我正在努力做的一个例子。有没有办法以更直接的方式进行搜索,而无需循环?或者什么是更有效的方法。
澄清: userinput
不是关键的确切内容,例如 userinput
可能是 log
,而关键是 logfile
编辑任何可以在搜索之前完成的列表/缓存创建、预处理或组织都是可以接受的。唯一需要快速的是搜索 key 。
最佳答案
如果您只需要查找以前缀开头的键,那么您可以使用 trie .存在更复杂的数据结构来查找在其中任何位置包含子字符串的键,但它们会占用更多的存储空间,因此这是一种时空权衡。
关于python - 搜索字典键python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5174506/