朋友们,如需转载请标明出处: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