Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5402|回复: 0
打印 上一主题 下一主题

Python之访问dict

[复制链接]

338

主题

341

帖子

1719

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1719
跳转到指定楼层
楼主
发表于 2017-6-26 22:27:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们已经能创建一个dict,用于表示名字和成绩的对应关系:
d = {    'Adam': 95,    'Lisa': 85,    'Bart': 59}
那么,如何根据名字来查找对应的成绩呢?
可以简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:
>>> print d['Adam']95>>> print d['Paul']Traceback (most recent call last):  File "index.py", line 11, in <module>    print d['Paul']KeyError: 'Paul'
注意: 通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。
要避免 KeyError 发生,有两个办法:
一是先判断一下 key 是否存在,用 in 操作符:
if 'Paul' in d:    print d['Paul']
如果 'Paul' 不存在,if语句判断为False,自然不会执行 print d['Paul'] ,从而避免了错误。
二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
>>> print d.get('Bart')59>>> print d.get('Paul')None
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|飞克网 ( 皖ICP备16023507号 )

GMT+8, 2024-5-18 19:01 , Processed in 0.216400 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表