Maison >développement back-end >Tutoriel Python >Comment élaguer efficacement un dictionnaire en fonction d'une condition personnalisée ?
Élagage d'un dictionnaire en fonction d'une condition personnalisée
Lorsque vous travaillez avec des dictionnaires, il est souvent utile d'affiner leur contenu en fonction de critères spécifiés. Supposons que vous disposiez d'un dictionnaire de points représentés sous forme de tuples et que vous souhaitiez extraire uniquement les points dont les coordonnées x et y sont inférieures à 5.
Traditionnellement, une approche consiste à parcourir les éléments du dictionnaire à l'aide d'un compréhension de la liste :
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]
Bien que cette méthode soit fonctionnelle, il existe une solution plus succincte utilisant un dictionnaire compréhension :
points_small = {k: v for k, v in points.items() if v[0] < 5 and v[1] < 5}
Cette expression concise génère un nouveau dictionnaire où les clés et les valeurs satisfont à la condition spécifiée. De même, dans Python 2.7 et versions ultérieures, la syntaxe suivante peut être utilisée :
points_small = {k: v for k, v in points.iteritems() if v[0] < 5 and v[1] < 5}
En employant des compréhensions de dictionnaires, vous bénéficiez d'un moyen élégant et efficace pour filtrer les dictionnaires en fonction de conditions arbitraires, offrant ainsi une approche plus rationalisée de manipulation de données.
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!