python系列教程47

103 阅读2分钟

朋友们,如需转载请标明出处:blog.csdn.net/jiangjunsho…

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好的理解人工智能技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是要由所写,所以不如我的人工智能技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!

在继续学习之前,还要说说字典的另一个要点:尽管我们能够通过给新的键赋值来扩展字典,但是获取一个不存在的键值仍然是一个错误。

>>> D

{'a': 1,'c': 3,'b': 2}



>>> D['e'] = 99                  # Assigning new keys grows dictionaries

>>> D

{'a': 1,'c': 3,'b': 2,'e': 99}



>>> D['f']                       # Referencing a nonexistent key is an error

...error text omitted...

KeyError: 'f'
12345678910111213141516171819

获取一个并不存在的东西往往是一个程序错误。但是,在一些通用程序中,我们编写程序时并不是总知道当前存在什么键,例如某些大程序是由成百上千个程序员协作编写而成的,你并不知道其它程序员为这个字典赋予了什么键值。在这种情况下,我们如何处理并避免错误发生呢?一个技巧就是首先进行测试。in关系表达式允许我们查询字典中一个键是否存在,并可以通过使用Python的if语句对结果进行分支处理:

>>> 'f' in D

False



>>> if not 'f' in D:

       print'missing')

missing
1234567891011

后面的文章将对if语句及语句的通用语法进行更多的讲解,这里所使用的形式很直接:它包含关键字if,紧跟着一个其结果为真或假的表达式,如果结果是真的话将运行一些代码。作为其完整的形式,在默认情况下,if语句也可以有else分句,以及一个或多个elif(else if)分句。

还有一些其他的方法来创建字典并避免获取不存在的字典键:get方法、Python 2.X的has_key方法(在Python 3.0中不可用)、try语句(一个捕获异常并从异常中恢复的工具)。下面是一些例子:

>>> value = D.get('x',0# Index but with a default

>>> value

0

>>> value = D['x'] if 'x' in D else 0 # if/else expression form

>>> value

0
1234567891011