Maison >développement back-end >Tutoriel Python >Comment filtrer un dictionnaire pour conserver des clés spécifiques ?

Comment filtrer un dictionnaire pour conserver des clés spécifiques ?

DDD
DDDoriginal
2024-11-19 08:01:02717parcourir

How to Filter a Dictionary to Retain Specific Keys?

Filtrer un dictionnaire pour conserver des clés spécifiques

Souvent, lorsque vous travaillez avec des dictionnaires, il est nécessaire de les affiner pour ne contenir qu'un certain sous-ensemble de clés. Cet article explore deux méthodes pour y parvenir : construire un nouveau dictionnaire avec les clés souhaitées ou supprimer les clés indésirables sur place.

Construire un nouveau dictionnaire

La première méthode implique de créer un nouveau dictionnaire contenant uniquement les clés qui vous intéressent. Cela peut être accompli en utilisant la compréhension du dictionnaire, comme démontré ci-dessous :

dict_you_want = {key: old_dict[key] for key in your_keys}

Cette approche a des performances stables quelle que soit la taille du dictionnaire d'origine, car elle parcourt les clés de la liste spécifiée (your_keys) et récupère les valeurs correspondantes du dictionnaire d'origine.

Suppression des clés indésirables sur place

La deuxième méthode supprime directement les clés indésirables du dictionnaire. Cela commence par identifier les clés à supprimer :

unwanted = set(old_dict) - set(your_keys)

Ensuite, une boucle parcourt les clés indésirables et les supprime du dictionnaire :

for unwanted_key in unwanted: del your_dict[unwanted_key]

Cette méthode a un légèrement plus élevé complexité que la première approche, car elle parcourt toutes les clés du dictionnaire d'origine pour localiser celles qui ne sont pas désirées. Cependant, il apporte des changements sur place, qui peuvent être plus efficaces dans certaines situations.

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