Crossin的编程教室

标题: 关于dictionary.get [打印本页]

作者: trance    时间: 2018-4-14 17:28
标题: 关于dictionary.get
各位大神,
为什么用pair.get(None)和pair.get(1)的结果不同呢?
这两项在dic中都存在,为什么只有pair.get(1)链接到Ture,而pair.get(None)没有呢?
谢谢!

res1.png (52.35 KB, 下载次数: 266)

res1.png


作者: crossin先生    时间: 2018-4-15 00:13
pair.get(None) 不是输出 True1 了吗
作者: trance    时间: 2018-4-15 22:42
crossin先生 发表于 2018-4-15 00:13
pair.get(None) 不是输出 True1 了吗

crossin大神,pair.get(None)输出了True1,但是pair.get(1)输出的是apple1并不是apple 是为什么呢
作者: crossin先生    时间: 2018-4-16 23:04
trance 发表于 2018-4-15 22:42
crossin大神,pair.get(None)输出了True1,但是pair.get(1)输出的是apple1并不是apple 是为什么呢 ...
你把字典输出下就知道了,1:apple 那项已经没有了

(收回之前的回复)
True1和apple1 是你自己定义的value啊,和apple有啥关系呢
True1页不是True和1拼成的
你对字典的取值好像有些误解……
建议你先拿最最简单的字典练习一下

作者: 小小艳紫    时间: 2018-4-17 09:56
一直在关注这个问题,我也不明白,
pair.get(1)得到的是字符串“apple”,字符串的bool值又是True,得到apple1应该是按pair.get(True)处理了;
pair.get(None)得到的也是字符串“True1”,为什么这个字符串没有同样处理
作者: banxt    时间: 2018-4-18 00:03
字典的key值是不可以重复的,如果重复默认取最后一个value值。 ---看到的一句话
作者: crossin先生    时间: 2018-4-18 00:07
小小艳紫 发表于 2018-4-17 09:56
一直在关注这个问题,我也不明白,
pair.get(1)得到的是字符串“apple”,字符串的bool值又是True,得到app ...

我明白你们的疑问了,我前面漏看了一个
你们在定义完字典后,把字典输出一下就知道了,1:'apple' 这一项是不存在的,已经被 True 替代了。
True就是1,所以覆盖了1的key
现在应该能理解了吧
pair.get(1) 拿到的就是 True 对应的 apple1
None拿到的就是 True1
作者: 小小艳紫    时间: 2018-4-18 10:49
crossin先生 发表于 2018-4-18 00:07
我明白你们的疑问了,我前面漏看了一个
你们在定义完字典后,把字典输出一下就知道了,1:'apple' 这一项 ...

嗯嗯,多谢先生,打印pair之后了解了,而且您说的应该是“True就是1,所以覆盖了1的value”吧

作者: crossin先生    时间: 2018-4-18 13:13
小小艳紫 发表于 2018-4-18 10:49
嗯嗯,多谢先生,打印pair之后了解了,而且您说的应该是“True就是1,所以覆盖了1的value”吧
...






欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5