2018-09-17——访问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


提取字典中的所有值,并剔除重复项,可使用集 合( set )。 集合 类似于列表,但每个元素都必须是独一无二的:

favorite_languages = {

'jen': 'python',

'sarah': 'c',

'edward': 'ruby',

'phil': 'python',

}

print("The following languages have been mentioned:")

❶ for language in set(favorite_languages.values()):

print(language.title())

通过对包含重复元素的列表调用 set() ,可让 Python 找出列表中独一无二的元素,并使用这些元素来创建一个集合。在❶处,我们使用了 set() 来提

取 favorite_languages.values() 中不同的语言。

结果是一个不重复的列表,其中列出了被调查者提及的所有语言:

The following languages have been mentioned:

Python

C

Ruby

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是dict 我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学的名字: ['Adam...
    _王子_阅读 5,051评论 0 1
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 5,742评论 0 5
  • 教程地址:python入门 - 慕课网 安装python 执行脚本 python官网 安装程序,并将python....
    竹口小生阅读 3,401评论 0 0
  • 判断邮箱格式是否正确的代码 判断是否有特殊字符 判断是否包含汉字 身份证号码验证 判断字符串是否为空+(NSStr...
    Arackboss阅读 4,606评论 3 2
  • 在夜深人静的时候,我总是很清醒,总是会想很多很多。 也许也只有在这个时候,我才是真正的我,不用带着一副笑脸去跟别人...
    汝蔚阅读 1,066评论 0 0