python - 搜索字典键python

标签 python dictionary search indexing associative-array

我想知道如何对 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/

相关文章:

python - 谷歌应用引擎: How to Truncate string after a given number of chars

python - 我如何计算特定价格的费用?

Pythonic 方式查找与嵌套字典关联的键

c++ - 'look up' 关键字的最有效方法

php - 检查mysql数据库中是否存在记录

arrays - in 的排序版本

python - 最小示例 opencv、pyinstaller、conda

python - Telegram 中是否可以通过按钮复制到剪贴板?

python - 拆分列表以制作字典 python

javascript - 我的 forEach 在 javascript 字典中以相反的顺序循环,为什么?