python系列教程113
Posted 人工智能AI技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python系列教程113相关的知识,希望对你有一定的参考价值。
朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!
字典键也常用于实现稀疏数据结构。例如,多维数组中只有少数位置上有存储的值。下面我们用字典表示一个三维数组,这个数组中只有两个位置(2,3,4)和(7,8,9)有值,其他位置都为空。
>>> Matrix = {}
>>> Matrix[(2,3,4)] = 88
>>> Matrix[(7,8,9)] = 99
>>>
>>> X = 2; Y = 3; Z = 4 # ; separates statements
>>> Matrix[(X,Y,Z)]
88
>>> Matrix
{(2,3,4): 88,(7,8,9): 99}
在上面的字典中,键是元组,它们记录非空元素的坐标。我们并不是分配一个庞大而几乎为空的三维矩阵,而只是用了一个简单的两个元素的字典。通过这一方式读取空元素时,会触发键不存在的异常,因为这些元素实质上并没有存储:
>>> Matrix[(2,3,6)]
Traceback (most recent call last):
File "<stdin>",line 1,in ?
KeyError: (2,3,6)
我们并不希望程序因为这一错误而被终止。至少有三种方式可以让我们填入默认值而不会出现这样的错误:你可以在if语句中预先对键进行测试,也可以使用try语句明确地捕获并修复这一异常,还可以用我们前面介绍的get方法为不存在的键提供一个默认值:
>>> if (2,3,6) in Matrix: # Check for key before fetch
... print(Matrix[(2,3,6)]) # See Chapter 12 for if/else
...else:
... print(0)
...
0
>>> try:
... print(Matrix[(2,3,6)]) # Try to index
...except KeyError: # Catch and recover
... print(0) # See Chapter 33 for try/except
...
0
>>> Matrix.get((2,3,4),0) # Exists; fetch and return
88
>>> Matrix.get((2,3,6),0) # Doesn't exist; use default arg
0
get方法是这三者中最简捷的。
以上是关于python系列教程113的主要内容,如果未能解决你的问题,请参考以下文章
IDEA插件系列(113):SequenceDiagram插件——序列图
Azure 机器人微软Azure Bot 编辑器系列 : 机器人/用户提问回答模式,机器人从API获取响应并组织答案 (The Bot Framework Composer tutorial(代码片段