Maison >développement back-end >Tutoriel Python >Comment supprimer efficacement les dictionnaires en double d'une liste Python tout en préservant l'ordre ?
Suppression des dictionnaires en double d'une liste en Python
Lors de la gestion d'une liste de dictionnaires, il est souvent nécessaire de supprimer les doublons partageant une clé identique. paires de valeurs. Cet article fournit une solution robuste utilisant Python.
Énoncé du problème :
Étant donné une liste de dictionnaires, l'objectif est de supprimer les dictionnaires qui contiennent la même clé et la même valeur. paires.
Solution :
Pour y parvenir, nous employons une méthode en deux étapes approche :
Pour reconstruire les dictionnaires à partir des tuples uniques, nous utilisons une compréhension de dictionnaire. Voici l'extrait de code :
original_list = [{'a': 123}, {'b': 123}, {'a': 123}] # Convert dictionaries to tuples tuples = [tuple(d.items()) for d in original_list] # Remove duplicates using a set unique_tuples = set(tuples) # Reconstruct dictionaries result_list = [dict(t) for t in unique_tuples] print(result_list)
Sortie :
[{'a': 123}, {'b': 123}]
Préservation de la commande :
Si vous préservez l'original l'ordre des dictionnaires est essentiel, on peut utiliser un ordre légèrement différent approche :
Voici le code :
original_list = [{'a': 123, 'b': 1234}, {'a': 3222, 'b': 1234}, {'a': 123, 'b': 1234}] seen = set() result_list = [] for d in original_list: t = tuple(d.items()) if t not in seen: seen.add(t) result_list.append(d) print(result_list)
Sortie :
[{'a': 123, 'b': 1234}, {'a': 3222, 'b': 1234}]
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!