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
Linda Hamiltonoriginal
2024-11-11 06:44:02924parcourir

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]

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}

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}

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!

Déclaration:
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