Python Practice › List Programs › Program 97

Remove repeated dictionaries

EasyList Programs · 97 of 100

Write a Python program to remove repeated dictionaries from a list.

Advertisement
Input
[{"Hello": 5}, {"student": 7}, {"are": 3}, {"learning": 8}, {"Hello": 5}, {"Language": 8}, {"are": 3}]
Output
[{'Hello': 5}, {'student': 7}, {'are': 3}, {'learning': 8}, {'Language': 8}]

Approach

  1. Use a set of each dict’s items (as a frozenset) to remember what was seen.

Solution

Python
data = [{"Hello": 5}, {"student": 7}, {"are": 3}, {"learning": 8}, {"Hello": 5}, {"Language": 8}, {"are": 3}]seen = set()result = []for d in data:    key = frozenset(d.items())    if key not in seen:        seen.add(key)        result.append(d)print(result)
Output
[{'Hello': 5}, {'student': 7}, {'are': 3}, {'learning': 8}, {'Language': 8}]

Line by line

Line 4

frozenset(d.items()) is a hashable fingerprint of the dict, so the check is fast even for long lists.

Learn the concept

New to this topic? Read the lesson, then come back.

More list programs

← All 100 List Programs

Leave a Comment