请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

微信公众号:
crossincode
 找回密码
 现在加入
查看: 138|回复: 8

关于dictionary.get

[复制链接]

2

主题

0

好友

28

积分

新手上路

Rank: 1

发表于 2018-4-14 17:28:28 |显示全部楼层
各位大神,
为什么用pair.get(None)和pair.get(1)的结果不同呢?
这两项在dic中都存在,为什么只有pair.get(1)链接到Ture,而pair.get(None)没有呢?
谢谢!

res1.png
回复

使用道具 举报

153

主题

31

好友

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2018-4-15 00:13:43 |显示全部楼层
pair.get(None) 不是输出 True1 了吗
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

2

主题

0

好友

28

积分

新手上路

Rank: 1

发表于 2018-4-15 22:42:08 |显示全部楼层
crossin先生 发表于 2018-4-15 00:13
pair.get(None) 不是输出 True1 了吗

crossin大神,pair.get(None)输出了True1,但是pair.get(1)输出的是apple1并不是apple 是为什么呢
回复

使用道具 举报

153

主题

31

好友

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2018-4-16 23:04:50 |显示全部楼层
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拼成的
你对字典的取值好像有些误解……
建议你先拿最最简单的字典练习一下
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

49

积分

新手上路

Rank: 1

发表于 2018-4-17 09:56:57 |显示全部楼层
一直在关注这个问题,我也不明白,
pair.get(1)得到的是字符串“apple”,字符串的bool值又是True,得到apple1应该是按pair.get(True)处理了;
pair.get(None)得到的也是字符串“True1”,为什么这个字符串没有同样处理
回复

使用道具 举报

0

主题

0

好友

10

积分

新手上路

Rank: 1

发表于 2018-4-18 00:03:45 |显示全部楼层
字典的key值是不可以重复的,如果重复默认取最后一个value值。 ---看到的一句话
回复

使用道具 举报

153

主题

31

好友

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2018-4-18 00:07:06 |显示全部楼层
小小艳紫 发表于 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
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

49

积分

新手上路

Rank: 1

发表于 2018-4-18 10:49:37 |显示全部楼层
crossin先生 发表于 2018-4-18 00:07
我明白你们的疑问了,我前面漏看了一个
你们在定义完字典后,把字典输出一下就知道了,1:'apple' 这一项 ...

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

使用道具 举报

153

主题

31

好友

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2018-4-18 13:13:54 |显示全部楼层
小小艳紫 发表于 2018-4-18 10:49
嗯嗯,多谢先生,打印pair之后了解了,而且您说的应该是“True就是1,所以覆盖了1的value”吧
...

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 现在加入

QQ|Archiver|手机版|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2018-7-16 16:27 , Processed in 0.085312 second(s), 28 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部