去除列表中重复的字典

    技术2022-05-19  26

    要求:

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


    最新回复(0)