Maison > développement back-end > Tutoriel Python > Comment rechercher efficacement un dictionnaire spécifique dans une liste de dictionnaires Python ?

Comment rechercher efficacement un dictionnaire spécifique dans une liste de dictionnaires Python ?

Patricia Arquette
Libérer: 2024-12-24 06:11:10
original
259 Les gens l'ont consulté

How to Efficiently Find a Specific Dictionary in a Python List of Dictionaries?

Recherche de dictionnaires spécifiques dans une liste de dictionnaires en Python

Étant donné une liste de dictionnaires, telle que :

[
  { "name": "Tom", "age": 10 },
  { "name": "Mark", "age": 5 },
  { "name": "Pam", "age": 7 }
]
Copier après la connexion

il peut être nécessaire de rechercher et de récupérer un dictionnaire spécifique en fonction d'un critère particulier. Par exemple, si nous souhaitons récupérer le dictionnaire associé au nom « Pam », nous pouvons exploiter diverses approches pythoniques.

Une solution efficace consiste à utiliser une expression génératrice, comme présenté ci-dessous :

>>> next(item for item in dicts if item["name"] == "Pam")
{'age': 7, 'name': 'Pam'}
Copier après la connexion

Cette expression génératrice parcourt chaque dictionnaire de la liste, évaluant la condition dans if item["name"] == "Pam". Une fois qu'un dictionnaire remplissant cette condition est rencontré, il est renvoyé comme résultat.

Pour gérer les situations où le dictionnaire souhaité peut ne pas exister, nous pouvons fournir une valeur par défaut comme suggéré par l'utilisateur Matt dans son commentaire. Ceci peut être réalisé en utilisant une API légèrement différente :

next((item for item in dicts if item["name"] == "Pam"), None)
Copier après la connexion

Alternativement, si nous devons déterminer l'index du dictionnaire correspondant plutôt que le dictionnaire lui-même, nous pouvons énumérer() la liste comme suit :

next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)
Copier après la connexion

En employant ces techniques, nous pouvons rechercher et récupérer efficacement des dictionnaires spécifiques dans une liste de dictionnaires en Python, ce qui nous permet d'effectuer des tâches complexes de manipulation et de récupération de données avec facilité.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal