python - 检查一个单词是否在作为字典值的列表中

标签 python python-3.x list dictionary

我正在尝试检查一个单词是否在作为字典值的列表中。 例如,我想检查 'noodles' 是否在: {1:['hello', 'hallo', 'salut', 'ciao', 'hola'], 2:['eggs', 'noodles', 'bacon']}

我试过了:

element = 'noodles'
element in myDict.values()

但我得到:False

最佳答案

您的代码检查 element ('noodles') 是否是字典中的值,而它不是(值是列表)。

您需要检查 element 是否在每个列表中。

如果你不关心 key :

print(any(element in value for value in myDict.values()))

如果您想知道 key (这将打印匹配 key 的列表):

print([key for key, value in myDict.items() if element in value])

但是,一般来说,如果您发现自己不得不一遍又一遍地遍历字典,那么您要么选择了错误的键,要么完全使用了错误的数据结构。

关于python - 检查一个单词是否在作为字典值的列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47619946/

相关文章:

python - 将 Python 对象序列化到/从 S60 手机

python - 如何从 <a> 标签中提取 url GET 参数,从完整的 html 文本

python - 如何在python中为绘图添加填充?

python - 使用 tkinter 在直方图中显示出现次数

C#模仿Excel SLOPE函数

list - 为什么 scalaz.NonEmptyList 不支持像 "find"这样的常见列表操作

python - 具有已发布的 GIL 和复杂线程的多线程代码在 Python 中速度较慢

python - 是否有可能在 python 中杀死正在监听特定端口的进程,例如 8080?

python - 读取非常大的一行文本文件

arrays - Haskell:List v. Array,性能差异