Entfernen doppelter Wörterbücher aus einer Liste in Python
Beim Umgang mit einer Liste von Wörterbüchern ist es oft notwendig, Duplikate zu entfernen, die den gleichen Schlüssel haben. Wertepaare. Dieser Artikel bietet eine robuste Lösung mit Python.
Problemstellung:
Anhand einer Liste von Wörterbüchern besteht das Ziel darin, die Wörterbücher zu entfernen, die denselben Schlüssel und Wert enthalten Paare.
Lösung:
Um dies zu erreichen, verwenden wir einen zweistufigen Ansatz Ansatz:
Um die Wörterbücher aus den eindeutigen Tupeln zu rekonstruieren, verwenden wir ein Wörterbuchverständnis. Hier ist der Codeausschnitt:
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)
Ausgabe:
[{'a': 123}, {'b': 123}]
Bewahrung der Reihenfolge:
Bei Beibehaltung des Originals Da die Reihenfolge der Wörterbücher von entscheidender Bedeutung ist, können wir eine etwas andere verwenden Ansatz:
Hier ist der 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)
Ausgabe:
[{'a': 123, 'b': 1234}, {'a': 3222, 'b': 1234}]
Das obige ist der detaillierte Inhalt vonWie kann man doppelte Wörterbücher effizient aus einer Python-Liste entfernen und gleichzeitig die Reihenfolge wahren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!