python - 如何确定找到的两个键是否属于字典列表中的同一字典

标签 python dictionary

我有一个字典列表,我试图在其中查找两个键,如果找到,请确保它们属于同一字典。到目前为止我所拥有的:

foo = [{'apples': 1, 'banana': 2}, {'people': 1, 'monkeys': 2}]

food = any(d['apples'] == 1 for d in foo)
mammals = any(d['banana'] == 2 for d in foo)

if food and mammals:
    return True

但是我如何验证它们都来自同一字典?

最佳答案

只需一次检查两个 key 即可,无需进行任何其他检查:

foo = [{'apples': 1, 'banana': 4}, {'people': 1, 'monkeys': 2}]
print(any(d.get('apples') == 1 and d.get('banana')== 2  for d in f))

很简单:

 return any(d.get('apples') == 1 and d.get('banana')== 2  for d in f)

就目前情况而言,您实际上会得到一个 keyError ,您应该使用 dict.get 来捕获每个 dict 中缺少任何键的情况。

关于python - 如何确定找到的两个键是否属于字典列表中的同一字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28595879/

相关文章:

python - 在 Django 中对 REST 端点进行单元测试

python - 如果有图片打不开怎么打开图片路径? PIL python

python - 我在 Heroku 上收到 404 错误,但它在本地有效

python - C 扩展中用于 IO 有界线程的 GIL (HDF5)

Python:如何改造 python 列表并逐行打印?

python - 按给定的合并顺序合并两个或多个列表

python - 在 Python 中搜索字典列表的有效方法

PowerShell 将字典转换为哈希表

python - [在Python中实现图表] : are lists of connected nodes preferable over dictionaries?

python - 使用字典键访问对象属性