1

我必须定义一个巨大的稀疏矩阵,矩阵的行索引是大小为 5 的 5 向量,矩阵的列索引也是大小为 5 的向量。更具体地说,要检索此矩阵中的元素我需要知道两个向量:

  1. 一个是行向量,我们称之为(i,j,k,l,m)。在哪里i=1,...,20,j=1,...,10, k=1,...,10, l=1,...,10, m=1,...,10.
  2. 一个用于列,我们称之为(n,o,p,q,r)。同样, n=1,...,20, o=1,...,10, p=1,...,10, q=1,...,10, r=1,...,10

    我正在尝试实现字典字典的想法,其中字典的每个键都Dict_1引用另一个字典,我们称之为Dict_2。其中的键Dict_1向量, Dict_2列向量。

我非常感谢在定义这本词典时的任何提示或帮助。我研究了在 Python 中实现嵌套字典的最佳方法是什么?但无法弄清楚如何将这个想法扩展到我的行键和列键是向量的情况。我真的很感谢任何帮助,评论。

4

1 回答 1

1

为什么不让你的字典像这样:

matrix = { (v1,v2):val}

例如:

>>> m = {((1,2,3,4),(9,8,8,2)):"info"}
>>> m[((1,2,3,4),(9,8,8,2))]
'info'

如果您需要这样的设置: matrix = { v1: { v2:val }},您可以使用deafultdict这样的:

>>> matrix = defaultdict(dict)
>>> matrix[(1,2,3,4)][(9,8,8,2)] = "info"
>>> matrix
defaultdict(<type 'dict'>, {(1, 2, 3, 4): {(9, 8, 8, 2): 'info'}})
>>> matrix[(1,2,3,4)][(9,8,8,2)]
'info'
于 2013-07-08T02:15:47.073 回答