2012-01-23 13 views
5

lista de diccionarios que he siguiente:eliminar los duplicados de la lista de diccionarios

d = [ 
{ 'name': 'test', 'regions': [{'country': 'UK'}] }, 
{ 'name': 'test', 'regions': [{'country': 'US'}, {'country': 'DE'}] }, 
{ 'name': 'test 1', 'regions': [{'country': 'UK'}], 'clients': ['1', '2', '5'] }, 
{ 'name': 'test', 'regions': [{'country': 'UK'}] }, 
] 

¿Cuál es la forma más fácil de eliminar entradas de la lista que son duplicados?

vi soluciones que funcionan, pero sólo si un elemento no han anidado predice o listas

+4

¿Cuál es el resultado esperado para usted aquí? –

+3

Defina "duplicado". ¿Quiere decir duplicar clave, duplicar valor o duplicar clave * y * valor? –

+0

clave duplicada y valores – pablox

Respuesta

15

¿Qué tal esto:

new_d = [] 
for x in d: 
    if x not in new_d: 
     new_d.append(x) 
+0

Sabía que iba a ser algo simple :) Gracias – pablox

0

Para fácil como en "fácil de implementar", el en this question parece bastante compacto.

No es probable que también sea muy efectivo en cuanto a rendimiento.

Cuestiones relacionadas