进阶删除重复元素

def dedupe(items,key=None):
    seen = set()
    for item in items:
        val = item if key==None else key(item)
        #item是否为字典,是则转化为字典key(item),匿名函数调用
        if val not in seen:
            yield item
            seen.add(val)
            #集合增加元素val 
if __name__=="__main__":
    a = [{'x':2,'y':4},{'x':3,'y':5},{'x':5,'y':8},{'x':2,'y':4},{'x':3,'y':5}]
    b=[1,2,3,4,1,3,5]
    print(b)
    print(list(dedupe(b)))
    print(a)
    print(list(dedupe(a,key=lambda a:(a['x'],a['y']))))
    #按照a['x'],a['y']方式
        


原文地址:https://www.cnblogs.com/hany-postq473111315/p/12819466.html