r = {}

class C(object):

def __init__(self, a, b):

self.a = a

self.b = b

if b == 'a':

orig = super(C, cls)

r[cls.instance] = 1

a = C(1, 'a')

b = C(1, 'a')

c = C(1, 'b')

l = [a, b, c]

for i in l:

if i not in r:

r[i] = 1

else:

r[i] += 1

assert r[a] == 2

assert r[b] == 2

assert r[c] == 1

原题目要求如下: 修改 C 类, 使得下面的 断言成立:

要想使下面的断言成立,既需要满足 item in r , 而 a 和 b 同属于 C 类, 且参数一致, a 初次赋值 给 r 字典的时候, r[a] = 1, b 赋值给 r 字典的时候 更改 使得 r[b] = r[a] + 1 此时 r[a] = r[b] =2 即满足 题目要求, 要使得 r[b] = r[a] + 1 此时需要 hash(a) == hash(b) , 在类里面满足 hash(self) , 使得 a,b 哈西值一致。

另外需要满足的时 给 r[b] 赋值时, 字典自身检测到 字典已经包含该 键, 类 需要满足一个方法 eq(self, other): 使得 a == b

最后个人的解决方法:

class C(object):

def __init__(self, a, b):

self.a = a

self.b = b

def __eq__(self, other):

return self.a == other.a and self.b== other.b

def __hash__(self):

return self.a

python 数据类笔试题_一道 Python 类的笔试题详解相关推荐

  1. python计算各类型电影的评分_【Python数据科学实战项目】之 基于MovieLens的影评趋势分析|详解...

    原标题:[Python数据科学实战项目]之 基于MovieLens的影评趋势分析|详解 注:图片源于https://movielens.org/ 1. 项目任务 1.1 数据来源 本项目使用Group ...

  2. 基于点击量的趋势分析python_【Python数据科学实战项目】之 基于MovieLens的影评趋势分析详解...

    原标题:[Python数据科学实战项目]之 基于MovieLens的影评趋势分析详解 本文转自: 数据科学DataScience 注:图片源于https://movielens.org/ 1. 项目任 ...

  3. python数据科学常国珍_《PYTHON数据科学:全栈技术详解》常国珍//赵仁乾//张秋剑著【摘要 书评 在线阅读】-苏宁易购图书...

    商品参数 作者: 常国珍//赵仁乾//张秋剑著 出版社:机械工业出版社 出版时间:2018-07-01 00:00:00 版次:1 印次:1 印刷时间:2018-07-01 字数:250 页数:422 ...

  4. python数据科学实践指南_《Python数据科学实践指南》——导读-阿里云开发者社区...

    前 言 为什么要写这本书 我接触大数据技术的时间算是比较早的,四五年前当大数据这个词火遍互联网的时候,我就已经在实验室里学习编程及算法的知识.那个时候我一心想要做学术,每天阅读大量的英文文献,主要兴趣 ...

  5. python数据写入表格生成图片_使用Python制作一个GUI界面,将随机生成的姓名存入到Excel文件中...

    前面内容,我们详细介绍了如何使用Python生成一定数量的随机姓名. 生成一些随机姓名 如何用Python生成若干个随机姓名?男女取名有方法,不能千篇一律 之前,也提到过,我们在一些项目中,需要若干个 ...

  6. java笔试题_一道简单的 Java 笔试题,但值得很多人反思

    专注于Java领域优质技术,欢迎关注 作者:匿蟒 前言 面试别人,对我来说是一件新奇事,以前都是别人面试我.我清楚地知道,我在的地域与公司,难以吸引到中国的一流软件人才.所以,我特地调低了期望,很少问 ...

  7. python数据项目分析实战技法_《Python数据分析与机器学习实战-唐宇迪》读书笔记第9章--随机森林项目实战——气温预测(1/2)...

    第9章--随机森林项目实战--气温预测(1/2) 第8章已经讲解过随机森林的基本原理,本章将从实战的角度出发,借助Python工具包完成气温预测任务,其中涉及多个模块,主要包含随机森林建模.特征选择. ...

  8. python数据包的作用_使用Python将登录数据包发送到Minecraft服务器不起作用

    我在Python中有以下脚本 . 它的作用是尝试连接到MineCraft服务器,首先发送'handshake',然后发送登录请求 . 协议规格可以在这里找到:http://wiki.vg/Protoc ...

  9. python数据对比找不同_利用Python读取文件的四种不同方法比对

    利用Python读取文件的四种不同方法比对 大家都知道Python 读文件的方式多种多样,但是当需要读取一个大文件的时候,不同的读取方式会有不一样的效果.下面就来看看详细的介绍吧. 场景 逐行读取一个 ...

最新文章

  1. SyntaxError: Non-ASCII character ‘\xe4‘ in file xx(路径)
  2. babel import语法 js_搭建开发JS库的运行环境
  3. JavaScript--------------------jQuery中.bind() .live() .delegate() .on()的区别 和 三种方式写光棒事件 动画...
  4. Android:动态加载布局
  5. wxWidgets:事件
  6. Angular async pipe在Component html模板中的一个实际应用
  7. 如何html中添加动态图片,把动态图片添加到视频画面中 视频添加自定义动态图片 视频加动态logo...
  8. 一口气说出 6种 延时队列的实现方法,面试官也得服
  9. JVM内存模型分析(一个程序运行的例子)
  10. APP运营者如何对用户的数据进行分析?
  11. 在Node中使用ES7新特征——async、await
  12. web产品设计的经典著作
  13. yolobile 道路损坏检测实战
  14. 【信息论】信源与信源熵(三)
  15. NVIDIA驱动重装经历
  16. python与排版设计_python 排版
  17. linux下anjuta的java环境,Anjuta下载-Anjuta IDE For Linux(集成开发环境)V3.18.0 官方版 - 极光下载站...
  18. react hook的setState后,不会重新render页面
  19. vim的关键词的补全功能
  20. 新版MacBookPro风扇狂转的问题

热门文章

  1. iOS base64 MD5
  2. 【Android开发】:在任意目录执行NDK编译
  3. 快速构建Spring Cloud工程
  4. [Vue CLI 3] 插件编写实战和源码分析
  5. 最佳DevOps工具获奖者:CloudBees Jenkins平台
  6. laravel中查看执行的SQL语句
  7. Java中的策略模式实例教程
  8. 漫漫运维路——集群基础知识
  9. 论Oracle 11g数据库备份与恢复策略
  10. iOS ---网络请求封装(自动缓存与手动缓存)