You could keep a set
of already seen names. You have to define which keys should be considered. In this case : ["Name", "Surname"]
. Simply add more if you want:
list_of_clients = [{"Name": "Alex", "Surname": "Dorfman"}, {"Name": "Serge", "Surname": "Ioffe"}, {"Name": "Alex", "Surname": "Dorfman"}, {"Name": "Serge", "Surname": "Ioffe"}]
already_seen = set()
for client in list_of_clients:
complete_name = tuple(client.get(k) for k in ["Name", "Surname"])
if complete_name in already_seen:
print("Duplicate : %s" % (complete_name,))
already_seen.add(complete_name)
It outputs:
Duplicate : ('Alex', 'Dorfman')
Duplicate : ('Serge', 'Ioffe')