"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment éliminer les dictionnaires en double dans une liste Python ?

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

Publié le 2024-11-08
Parcourir:398

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 constituer un obstacle au traitement efficace des données. En programmation Python, les listes de dictionnaires sont couramment utilisées pour stocker des données tabulaires. Cependant, dans certains cas, vous devrez peut-être 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},
]

Le but est d'obtenir une liste contenant uniquement des dictionnaires uniques, excluant les doublons. Pour y parvenir, nous pouvons utiliser une approche simple :

Créer un dictionnaire temporaire avec un 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 élément spécifique. Dictionary.

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.

Python Implémentation

Voici comment implémenter cette approche en 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))

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 permet de supprimer efficacement les dictionnaires en double d'une liste et d'obtenir une nouvelle liste contenant uniquement des éléments uniques.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3