Python 检查字符串是否包含字典键

Row*_*ish 3 python string dictionary find python-3.x

我有这些字符串:

>>> a="foo"
>>> b="foo_KEY"
Run Code Online (Sandbox Code Playgroud)

还有一个像这样的字典:

>>> DICT
{
'KEY': ['...'],
'KEY2': ['...', '...'],
...
}
Run Code Online (Sandbox Code Playgroud)

我想构建一个函数来检查测试值是否在输入字典的任何键中:

>>> has_key(a, DICT)
False
>>> has_key(b, DICT)
True
Run Code Online (Sandbox Code Playgroud)

在 Python 3 中完成这项任务的最优雅的方法是什么?

Del*_*gan 5

has_key = lambda a, d: any(k in a for k in d)
Run Code Online (Sandbox Code Playgroud)

  • 为什么这是一个 lambda? (2认同)