我有一个 Python 字典列表,如下所示:
a = [
{'main_color': 'red', 'second_color':'blue'},
{'main_color': 'yellow', 'second_color':'green'},
{'main_color': 'yellow', 'second_color':'blue'},
]
我想检查列表中是否已存在具有特定键/值的字典,如下所示:
// is a dict with 'main_color'='red' in the list already?
// if not: add item
这是一种方法:
if not any(d['main_color'] == 'red' for d in a):
# does not exist
括号中的部分是生成器表达式,返回True
对于每个具有您要查找的键值对的字典,否则False
.
如果钥匙也可能丢失,上面的代码可以给你一个KeyError
。您可以使用以下方法修复此问题get
并提供默认值。如果您不提供default value, None
被返回。
if not any(d.get('main_color', default_value) == 'red' for d in a):
# does not exist
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)