去除列表中重复的字典

要求:

一个列表,含有多个字典,字典中的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)  

你可能感兴趣的:(Python)