在 Python (2.7) 中,是否存在可通过基于字符串的索引访问的原生二维数据结构?
我知道你可以有一个可以用字符串索引访问的字典,例如:
>>> dic = dict()
>>> dic['grumpy'] = 'cat'
>>> print(dict['grumpy'])
'cat'
但我想要的是一种可以像这样访问的数据结构:
>>> dic['grumpy']['frumpy'] = 'cat'
>>> print(dict['grumpy']['frumpy'])
'cat'
数组似乎是行不通的,因为它只允许基于整数的访问……有什么建议吗?谢谢!
最佳答案
使用 defaultdict
:
from collections import defaultdict
nesteddict = defaultdict(dict)
nesteddict['abc']['spam'] = 'ham'
请注意,您描述的是一个简单的嵌套结构;您也可以在不使用 defaultdict
的情况下构建它,但是该类使这样做变得更加容易。
关于具有字符串索引的 Python 2 维数组(矩阵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14383333/