博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jmeter 能调用python吗_Python 刷题笔记:这很不python,官方大大能改下吗?
阅读量:6376 次
发布时间:2019-06-23

本文共 841 字,大约阅读时间需要 2 分钟。

8a78e14549ddcf03e4dc2fad6841af4b.png

惊讶:数值相等的整数或浮点数作为dict 字典的键将指向同一项?!

1、刷题遇到知识盲区

入门Python其实很容易,但是我们要去坚持学习,每一天坚持很困难,我相信很多人学了一个星期就放弃了,为什么呢?其实没有好的学习资料给你去学习,你们是很难坚持的,这是小编收集的Python入门学习资料关注,转发,私信小编“01”,就可以获取!希望对你们有帮助

ebe79ce7dabba980e36722eea2d6e926.png

今天继续在刷题,意外发现:整数和浮点数先后设为字典的键,会有奇怪的现象!

题目如下:

8dedd43fcb6f639977934db4f10766ea.png

2、我的理解VS正确答案

暂时找不到精准词汇来描述这一现象,我于是选择写点代码,尝试确认该现象。

答题时我的理解是,整数 1 ,字符串 '1' 和浮点数 1.0 是不同类型,所以它们会成为该字典的三个键,字典中 3 项的值加和 1 + 2 +4 为 7。但正确答案却是 2 + 4 为 6。由此推论,这是把字典的键 整数 1 和 浮点数 1.0 所指向的视为同一项!

这个推论准确吗?如何验证推论是否准确?

首先,确认整数和浮点数都可以作为字典的键存在。

ecdd5a26bcb9e5a860abaf3b546ac03a.png

其次, 数值相等的整数和浮点数先后作为字典的键时,会如何 ?写写代码试试看。

c3f266bca2cfdd6f99530c6bbbed7693.png

仔细观察发现,字典的键不会发生改变,字典的值发生覆盖:最先设为字典的键的类型,如果是整数,则总是整数,如果是浮点数,则总是浮点数。只有字典的值会发生覆盖。

这个观察准确吗?再写点代码, 检查下字典的键的类型是否发生变化

05de4959ac17f1ed9fececa573787b4d.png
0829fba8a26d5a3be6acc5c8e1d82876.png

经过上面的探索可知, 数学意义上数值相等的整数或浮点数先后设为字典的键时,键的类型会与最初保持一致;但在调用该键时,整数或浮点数都可以,指向的是该字典的同一项!

4c96c57f36b90923d73f363627f64e73.png

3、小结与未完成困惑

这实在诡异。我虽然暂时不明白为什么,但总算确定该现象的存在了!整理好这篇笔记,发出来给高手们指点一下,看看能否找到为什么吧!

BTW,这个现象不符合认知惯性啊,明明整数 1 ,字符串 '1' 和浮点数 1.0 是不同类型,为什么它们不会成为该字典的三个键??希望未来 python 能升级改掉这种情况……

转载地址:http://uovqa.baihongyu.com/

你可能感兴趣的文章
c++区块链实例_cpp 区块链模拟示例(二)工程代码解析
查看>>
hourglass论文_论文笔记 Stacked Hourglass Networks for Human Pose Estimation
查看>>
java 接口的本质_Java基本概念:接口
查看>>
java死锁的解决_java中常见的死锁以及解决方法代码
查看>>
java菜单栏不下拉_我java代码中的下拉列表设好后为什么无法下拉?
查看>>
java传递引用类型的实质_java的引用类型以及值传递
查看>>
java策略模式使用场景,Java设计模式—策略模式
查看>>
RHEL6.3实现基于加密的用户认证验证访问
查看>>
SCCM2012 R2实战系列之十一:解决OSD分发Windows7 系统盘盘符为’D’问题
查看>>
经验分享:我是如何在网店无货源情况下快速出单?
查看>>
当AD服务器置于防火墙内时,所需开放的端口
查看>>
限免的Mac App套件,工程师绝对不可错过
查看>>
Exchange 2013 添加地址列表到脱机通讯簿
查看>>
Skype for Business Server 2015-05-监控和存档服务器-配置
查看>>
浅谈物化视图
查看>>
安装SQL Server 2017
查看>>
超融合超越企业传统存储绕不开的六个问题
查看>>
医院CIO的一幅工作对联
查看>>
DPM灾难切换应用场景
查看>>
简单配置Oracle10g DataGuard物理备库
查看>>