Maison >développement back-end >Tutoriel Python >Comment rechercher efficacement un dictionnaire spécifique dans une liste de dictionnaires Python ?
Recherche de dictionnaires dans une liste à l'aide de Python
Considérons une liste de dictionnaires comme exemple :
dicts = [ {"name": "Tom", "age": 10}, {"name": "Mark", "age": 5}, {"name": "Pam", "age": 7}, ]
Problème : Comment rechercher et récupérer le dictionnaire où la clé "nom" est égale "Pam" ?
Solution :
À l'aide d'un générateur d'expression, vous pouvez parcourir la liste des dictionnaires et filtrer celui dont vous avez besoin :
match = next(item for item in dicts if item["name"] == "Pam") print(match) # {"name": "Pam", "age": 7}
Gestion de la non-existence :
S'il est possible que le nom que vous recherchez n'existe pas dans la liste, vous pouvez utiliser la fonction next() avec un argument par défaut :
match = next((item for item in dicts if item["name"] == "Pam"), None) if match: print(match) else: print("No matching dictionary found.")
Approches alternatives :
index = next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None) print(f"Matching dictionary at index {index}")
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!