Le moyen le plus efficace pour rechercher dans la liste des dicts

J'ai la liste suivante des dicts.

people = [
{'name': "Tom", 'age': 10},
{'name': "Mark", 'age': 5},
{'name': "Pam", 'age': 7}
]

Qui serait le plus optimisé en terme de performance de la recherche dans la liste des dicts. Suivantes sont différents, certaines méthodes:

next((item for item in dicts if item["name"] == "Pam"), None)

OU

filter(lambda person: person['name'] == 'Pam', people)

OU

def search(name):
    for p in people:
        if p['name'] == name:
            return p

OU

def search_dictionaries(key, value, list_of_dictionaries):
    return [element for element in list_of_dictionaries if element[key] == value]

Toute autre méthode est également la bienvenue. Merci.

Tu fais ça une fois et c'est ça? Si oui, que de retourner une fois que vous avez trouvé l'article qui fait le plus de sens. Si ce n'est pas que l'utilisation d'une cartographie qui est ré-utilisable pour les recherches suivantes.

OriginalL'auteur Andy M. | 2016-08-10