带有字符串索引的Python 2 Dimension Array(Matrix)

ToO*_*sIK 3 python dictionary matrix data-structures

在Python(2.7)中,是否存在可通过基于字符串的索引访问的本地二维数据结构?

我知道你可以拥有一个可以用字符串索引访问的字典,例如:

>>> dic = dict()
>>> dic['grumpy'] = 'cat'
>>> print(dict['grumpy'])
'cat'
Run Code Online (Sandbox Code Playgroud)

但我想要的是一个可以访问的数据结构,如:

>>> dic['grumpy']['frumpy'] = 'cat'
>>> print(dict['grumpy']['frumpy'])
'cat'
Run Code Online (Sandbox Code Playgroud)

数组似乎是禁止的,因为它只允许基于整数的访问...任何建议?谢谢!

Mar*_*ers 8

使用defaultdict:

from collections import defaultdict

nesteddict = defaultdict(dict)

nesteddict['abc']['spam'] = 'ham'
Run Code Online (Sandbox Code Playgroud)

请注意,您描述的是一个简单的嵌套结构; 你也可以在不使用的情况下构建它,defaultdict但是这个类使得它更容易实现.

  • 哦,来吧.那不公平.答应我,当你达到100k时,你会给我们其余的人至少三十秒的差点! (4认同)
  • @DSM - 你认为我们可以说服主持人Martijn以某种方式攻击了SO以便他有机会在其他用户之前看到每个问题 - 或者说他是某种非常聪明且有用的非垃圾邮件机器人?(说真的 - 我认为我甚至不能快速打字) (3认同)