zoukankan      html  css  js  c++  java
  • 一道很棒的题

    #需求:
    
    # 一个类
    # 对象的属性 : 姓名 性别 年龄 部门
    # 员工管理系统
    # 内部转岗 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]
  • 相关阅读:
    oracle重命名数据库
    GridView分页的实现
    vb发post信息,非常简单,就一个函数
    第六周进度条
    软件工程作业
    进度条第五周
    四则运算设计03
    进度条03
    单元测试课堂作业
    个人作业02
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/9410007.html
Copyright © 2011-2022 走看看