#需求: # 一个类 # 对象的属性 : 姓名 性别 年龄 部门 # 员工管理系统 # 内部转岗 python开发 - go开发 # 姓名 性别 年龄 新的部门 # A men 83 python # A men 85 go # 1000个员工 # 如果几个员工对象的姓名和性别相同,这是一个人 # 请对这1000个员工做去重 #用到了set的内层如何实现,先hash,如果hash值一样的话,没比较两个数的值,会用到__eq__方法 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.age)) def __eq__(self, other): return True if self.name == other.name and self.age == other.age else False employee_list = [] for i in range(10): employee_list.append(Employee('Jake', 'men', i, '1')) for i in range(10): employee_list.append(Employee('Tom', 'men', i, '2')) for i in range(10): employee_list.append(Employee('Peter', 'men', i, '3')) # print(employee_list) employee_list = set(employee_list) for i in employee_list: print(i)
def num(): return [lambda x: i * x for i in range(4)] print([m(5) for m in num()]) # [15, 15, 15, 15]