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