>>> next(item for item in dicts if item["name"] == "Pam") {'age': 7, 'name': 'Pam'}
Если вам нужно обработать элемент, которого там нет, то вы можете сделать то, что пользователь Мэттпредложил в своем комментарии, и указать значение по умолчанию, используя немного другой API:
next((item for item in dicts if item["name"] == "Pam"), None)
И чтобы найти индекс элемента, а не сам элемент, вы можете enumerate() список:
next((i for i, item inenumerate(dicts) if item["name"] == "Pam"), None)
Как упоминалось в комментариях @Matt, вы можете добавить значение по умолчанию как таковое:
>>> next((item for item in dicts if item["name"] == "Pam"), False) {'name': 'Pam', 'age': 7} >>> next((item for item in dicts if item["name"] == "Sam"), False) False >>>