set集合去重机制
Posted wszxdzd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了set集合去重机制相关的知识,希望对你有一定的参考价值。
set集合去重机制:先调用hash,若发现hash出的内存地址已被占用,会再次调用eq比较内容是否相同.
__hash__对与同一个值的同一次运算的结果是相同的
class Employee: def __init__(self,name,age,sex,partment): self.name = name self.age = age self.sex = sex self.partment = partment def __hash__(self): return hash(‘%s%s‘%(self.name,self.sex)) def __eq__(self, other): if self.name == other.name and self.sex == other.sex: return True employ_lst = [] for i in range(200): employ_lst.append(Employee(‘alex‘,i,‘male‘,‘python‘)) for i in range(200): employ_lst.append(Employee(‘wusir‘,i,‘male‘,‘python‘)) for i in range(200): employ_lst.append(Employee(‘taibai‘, i, ‘male‘, ‘python‘)) # print(employ_lst) employ_set = set(employ_lst) for person in employ_set: print(person.__dict__)
以上是关于set集合去重机制的主要内容,如果未能解决你的问题,请参考以下文章
JavaSE学习总结(十三)Set集合HashSet集合LinkedHashSet集合TreeSet集合比较器的使用利用Set集合实现去重