如果不对dict进行预处理,那么这
O(n)就是您能做到的最好。不过,它不必太复杂:
any(key.startswith(mystr) for key in mydict)
(不要使用
dict和
str作为变量名,它们已经是两个内置函数的名称。)
如果 可以 对字典 进行
预处理,请考虑将密钥放在前缀树中(又名trie)。维基百科文章中甚至有一个Python实现。

如果不对dict进行预处理,那么这
O(n)就是您能做到的最好。不过,它不必太复杂:
any(key.startswith(mystr) for key in mydict)
(不要使用
dict和
str作为变量名,它们已经是两个内置函数的名称。)
如果 可以 对字典 进行
预处理,请考虑将密钥放在前缀树中(又名trie)。维基百科文章中甚至有一个Python实现。