Maison > développement back-end > Tutoriel Python > Comment trouver efficacement des paires clé-valeur spécifiques dans une liste de dictionnaires Python ?

Comment trouver efficacement des paires clé-valeur spécifiques dans une liste de dictionnaires Python ?

Mary-Kate Olsen
Libérer: 2024-12-06 18:42:12
original
987 Les gens l'ont consulté

How to Efficiently Find Specific Key-Value Pairs in a List of Python Dictionaries?

Recherche de valeurs-clés de dictionnaire spécifiques en Python

Étant donné une liste de dictionnaires, il est courant de rechercher des valeurs-clés spécifiques pour récupérer le dictionnaire correspondant. Par exemple, considérons la liste suivante :

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

Pour trouver le dictionnaire portant le nom "Pam", nous pouvons utiliser une expression génératrice :

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

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

La fonction next() renvoie le premier élément du générateur, qui est le dictionnaire portant le nom "Pam". L'utilisation d'une expression génératrice permet une itération efficace sans stocker tous les résultats en mémoire.

Pour les cas où l'élément peut ne pas exister, nous pouvons fournir une valeur par défaut en utilisant la fonction next() avec un paramètre :

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

Alternativement, nous pouvons trouver l'index de l'élément correspondant en utilisant l'énumération :

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

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