字典实战——字典用法说明——避免缺失键的错误

未匹配的标注

获取不存在键的错误在稀疏矩阵中是很常见的,但你很可能不想要它们关闭程序。至少有三种方式来填充一个默认值而非获得那样的一个错误信息——可以提前用if语句来测试键,使用try语句来捕获并明确地从这个异常中恢复,或简单地使用之前展示的字典的get方法来为不存在的键提供默认值。将这些例子的前两个作为将在第10章学习的语句语法的预览:

>>> if (2, 3, 6) in Matrix: # Check for key before fetch
... print(Matrix[(2, 3, 6)]) # See Chapters 10 and 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 Chapters 10 and 34 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方法是最简洁的,但iftry语句在范围上要通用得多;再说一次,关于这些的更多知识从第10章开始。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~