Se pretende encontrar un clave dentro de un listado de disccionarios con Python.
Los dos ejemplos que veremos a continuación usando un generator expression o lambda function con filter son equivalentes.
people = [
{"name": "Tom", "age": 10},
{"name": "Mark", "age": 5},
{"name": "Pam", "age": 7},
{"name": "Tom", "age": 15}
]
next((item for item in people if item.get("name") == "Pam"), None)
next((i for i, item in enumerate(people) if item.get("name") == "Pam"), None)
next((item for item in people if item.get"name")), None)
Usamos filter
para obtener el dato que queremos pero este devuelve un generador por lo que tendremos que convertirlo a list
si queremos usar una lista.
list(filter(lambda person: person.get('name') == 'Pam', people))
next(filter(lambda person: person.get('name') == 'Pam', people), None)