zoukankan      html  css  js  c++  java
  • 23-5 面试题:1000个员工,我们认为名字和年龄相等,就为同一个人

    需求:
    • 一个类
    • 对象的属性 : 姓名 性别 年龄 部门
    • 员工管理系统
    • 内部转岗 python开发 - go开发
    • 姓名 性别 年龄 新的部门
    • alex None 83 python
    • alex None 85 luffy
    • 1000个员工
    • 如果几个员工对象的姓名和性别相同,这是一个人
    • 请对这1000个员工做去重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 = []   # 得到600个样本
    for i in range(200):
        employ_lst.append(Employee('alex', i, 'male', 'python'))   # 这样得到了 年龄不同,名字都为alex的对象们 放入空列表中待用
    for i in range(200):
        employ_lst.append(Employee('wusir', i, 'male', 'python'))   # 这样得到了 年龄不同名字都为wusir的对象们 放入空列表中待用
    for i in range(200):
        employ_lst.append(Employee('taibai', i, 'male', 'python'))
    
    
    # print(employ_lst)
    employ_set = set(employ_lst)   # set 去重
    for person in employ_set:
        print(person.__dict__)    # 查看对象们

    # 结果:

    # {'name': 'alex', 'age': 0, 'sex': 'male', 'partment': 'python'}
    # {'name': 'taibai', 'age': 0, 'sex': 'male', 'partment': 'python'}
    # {'name': 'wusir', 'age': 0, 'sex': 'male', 'partment': 'python'}

    
    
  • 相关阅读:
    关于版权
    简易的命令行入门教程:
    安卓图标
    Flutter 第一次运行就出现白屏的问题
    解决应用白屏
    main.dart
    Hello World
    Flutter学习指南:UI布局和控件
    Flutter
    编译环境与生成环境的JDK版本不一样,报 java util zip ZipException error in op
  • 原文地址:https://www.cnblogs.com/zhuangdd/p/12637870.html
Copyright © 2011-2022 走看看