python - 如何检查字典中是否存在某个值,该值是否存在于另一个字典的列表中?

标签 python dictionary object

我有一本包含多个键和值的字典,其中一个包含更多字典的列表。我需要能够找到给定值是否存在于这些字典中,但我不确定当它们不仅存在于列表中而且存在于对象属性中时如何检查它们。

虽然 for 循环检查可以完成此任务,但该属性最终可能会保存数百个值,这将使这种方法效率低下。

我还尝试过以下变体: if <value> in <dict>[<list>][<dict2>]

但是,我不断收到类型错误,列表索引必须是整数或切片(值是字符串)。

代码示例如下:

dictExample = {
"name": "yes",
"age": 25,
"Check_Me": [
    {"type": "code", "value": "001"},
    {"type": "code", "value": "002"},
    {"type": "code", "value": "003"},
    {"type": "code", "value": "004"},
    {"type": "code", "value": "005"}
    ],
}

if "007" not in dictExample["Check_Me"]["value"]:
    print("It works!")
else:
    print("Failure...")

(我无法上传实际代码,但这大致就是我所面临的。)

预期输出是代码运行时没有错误,并且能够成功查找该值是否在嵌套字典中。

最佳答案

一个示例是使用内置 any当找到第一个匹配时短路的函数。然而有几个选择

if not any("007" in x["value"] for x in dictExample["Check_Me"]):
    print("It works!")

关于python - 如何检查字典中是否存在某个值,该值是否存在于另一个字典的列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54429661/

相关文章:

Javascript getElementById 行为奇怪

Python:getsize 无法从 itunes xml 中找到文件位置

python - Onchange 已触发,但未使用 View 上的值填充字段(Odoo)

c++ - 从两个不同的字段中排序并确定唯一性的容器

python - 带类的字典?

python - 如何在嵌套的 for 循环中检查 dict 和列表中项目的成员资格?

C++ 获取对象

c++ - 在 C++ 中初始化对象 vector

python - Django REST框架序列化模型组合

python - 定期账户订阅