Просто используйте any
, встроенную функцию Python, чтобы проверить, выполняется ли условие, ну, в общем, any
из многих. any
ломается рано и избегает ложных итераций, когда встречается первый истинный элемент:
if any(d.get('b') == 'b_sec' for d in lst): # do not use 'list' as a name
# do stuff
Использование d.get('b')
вместо d['b']
более надежно, так как не вызовет ошибку, если 'b'
не входит ни в один из диктов. Обратите внимание, что если по какой-либо причине искомое значение было None
, вам пришлось бы указать другое значение по умолчанию, равное get
, например, d.get('b', '')
.