Maison >développement back-end >Tutoriel Python >Comment éliminer les dictionnaires en double dans une liste Python ?

Comment éliminer les dictionnaires en double dans une liste Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-27 05:59:03292parcourir

How to Eliminate Duplicate Dictionaries in a Python List?

Supprimer les doublons d'une liste de dictionnaires

La duplication dans une collection de données peut être un obstacle à un traitement efficace des données. En programmation Python, les listes de dictionnaires sont couramment utilisées pour stocker des données tabulaires. Cependant, il peut y avoir des cas où vous devrez supprimer les dictionnaires en double d'une telle liste.

Considérez la liste de dictionnaires suivante :

[
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]

L'objectif est d'obtenir une liste avec uniquement des dictionnaires uniques. dictionnaires, à l’exclusion des doublons. Pour y parvenir, nous pouvons utiliser une approche simple :

Créer un dictionnaire temporaire avec ID comme clé

  1. Créer un dictionnaire temporaire en utilisant une compréhension de liste, où la clé de chaque dictionnaire est son champ « id ».
  2. Cette étape mappe essentiellement chaque valeur « id » unique à un dictionnaire spécifique.

Extraction de dictionnaires uniques à partir de valeurs

  1. Obtenez les valeurs du dictionnaire temporaire à l'aide de la méthode values().
  2. Le résultat est une liste de dictionnaires uniques, avec les doublons supprimés.

Implémentation de Python

Voici comment implémenter cette approche en Python :

<code class="python">def remove_duplicates_from_dicts(dict_list):
    dict_id_mapping = {v['id']: v for v in dict_list}
    return list(dict_id_mapping.values())

sample_list = [
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]
print(remove_duplicates_from_dicts(sample_list))</code>

Ce code produira le résultat suivant :

[{'id': 1, 'name': 'john', 'age': 34}, {'id': 2, 'name': 'hanna', 'age': 30}]

En employant cette stratégie, vous pouvez supprimer efficacement les dictionnaires en double d'une liste et obtenir une nouvelle liste avec uniquement des éléments uniques.

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