字典实战——字典用法说明——对稀疏的数据结构使用字典:元组键
类似地,字典键还常被利用来实现稀疏的数据结构——比如,只有少数位置有值存储在内的多维数组:
>>> Matrix = {}
>>> Matrix[(2, 3, 4)] = 88
>>> Matrix[(7, 8, 9)] = 99
>>>
>>> X = 2; Y = 3; Z = 4 # ; separates statements: see Chapter 10
>>> Matrix[(X, Y, Z)]
88
>>> Matrix
{(2, 3, 4): 88, (7, 8, 9): 99}
这里,使用字典来表示一个空的(除了两个位置(2,3,4)和(7,8,9))三维数组。这些键是记录非零插槽坐标的元组。可以使用一个只有两个项目的字典,而非分配一个大的,大部分是空的三维矩阵来保存这些值。在这个方案中,访问一个空插槽会触发不存在键的异常,因为这些插槽在物理上并没有被存储:
>>> Matrix[(2,3,6)]
Traceback (most recent call last):
File "<stdin>", line 1, in ?
KeyError: (2, 3, 6)
推荐文章: