Maison > développement back-end > Tutoriel Python > Comment filtrer un dictionnaire à l'aide d'une fonction de condition en Python ?

Comment filtrer un dictionnaire à l'aide d'une fonction de condition en Python ?

Linda Hamilton
Libérer: 2024-11-11 06:44:02
original
923 Les gens l'ont consulté

How to Filter a Dictionary Using a Condition Function in Python?

Filtrer un dictionnaire à l'aide d'une fonction de condition

Les dictionnaires Python, omniprésents dans les tâches de manipulation de données, fournissent un moyen puissant de stocker et de récupérer des informations basées sur sur les clés. Cependant, il peut arriver que vous deviez extraire un sous-ensemble du contenu du dictionnaire en fonction de critères spécifiques. Explorons un exemple dans lequel nous souhaitons filtrer un dictionnaire pour sélectionner des points dont les coordonnées x et y sont toutes deux inférieures à 5.

Approche originale

Une approche possible consiste à itérer sur les éléments du dictionnaire, en vérifiant les coordonnées de chaque point et en sélectionnant ceux qui remplissent la condition. Cette approche, bien que simple, peut être verbeuse et sujette aux erreurs.

points = {'a': (3, 4), 'b': (1, 2), 'c': (5, 5), 'd': (3, 3)}
points_small = {}
for item in [i for i in points.items() if i[1][0] < 5 and i[1][1] < 5]:
    points_small[item[0]] = item[1]
Copier après la connexion

Solution élégante

Python fournit une solution plus élégante utilisant la compréhension des dictés. Les compréhensions de dict vous permettent de créer un nouveau dictionnaire basé sur une condition spécifiée, avec la syntaxe : {k : v pour k, v dans existant_dict si condition}. Dans notre cas, nous pouvons utiliser cette syntaxe pour créer le dictionnaire filtré :

{k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}
Copier après la connexion

Compatibilité Python 2

Dans Python 2, la méthode iteritems() est utilisée au lieu de items(). Le code pour Python 2 serait :

{k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}
Copier après la connexion

Cette syntaxe compacte et expressive facilite la manipulation de dictionnaires et l'extraction de données spécifiques en fonction de conditions. Les compréhensions de dictées de Python offrent un outil puissant pour filtrer et transformer le contenu du dictionnaire de manière efficace et concise.

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