栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python系列教程113

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 "",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方法是这三者中最简捷的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号