要求:
一个列表,含有多个字典,字典中的key是一样的,值有的一样有的不一样。从列表中去掉完全重复的字典。
例如 有如下列表:
L = [{'k1':'v1','k2':'v2'},{'k1':'v1','k2':'v3'},{'k1':'v1','k2':'v2'},{'k1':'v2','k2':'v2'},{'k1':'v1','k2':'v2'}]
期望结果:
L = [{'k1':'v1','k2':'v2'},{'k1':'v1','k2':'v3'},{'k1':'v2','k2':'v2'}]
代码:
#!/usr/bin/python
def uniqueList(L):
(output, temp) = ([],[])
for l in L:
for k, v in l.iteritems():
flag = False
if (k,v) not in temp:
flag = True
break
if flag:
output.append(l)
temp.extend(l.items())
return output
L = [{'k1':'v1','k2':'v2'},{'k1':'v1','k2':'v3'},{'k1':'v1','k2':'v2'},{'k1':'v2','k2':'v2'},{'k1':'v1','k2':'v2'}]
print uniqueList(L)