Вот один из способов сделать это:
if not any(d['main_color'] == 'red' for d in a):
# does not exist
Часть в скобках - это выражение генератора, которое возвращает True
для каждого словаря, в котором есть искомая пара ключ-значение, в противном случае False
.
Если ключ также может отсутствовать, приведенный выше код может дать вам KeyError
. Вы можете исправить это, используя get
и указав значение по умолчанию.
if not any(d.get('main_color', None) == 'red' for d in a):
# does not exist