【问题标题】:Python 2 Dimension Array (Matrix) with string indices带有字符串索引的 Python 2 维度数组(矩阵)
【发布时间】:2013-01-17 16:12:36
【问题描述】:

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

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

>>> dic = dict()
>>> dic['grumpy'] = 'cat'
>>> print(dict['grumpy'])
'cat'

但我想要的是一个可以像这样访问的数据结构:

>>> dic['grumpy']['frumpy'] = 'cat'
>>> print(dict['grumpy']['frumpy'])
'cat'

数组似乎是不行的,因为它只允许基于整数的访问......有什么建议吗?谢谢!

【问题讨论】:

    标签: python data-structures dictionary matrix


    【解决方案1】:

    使用defaultdict

    from collections import defaultdict
    
    nesteddict = defaultdict(dict)
    
    nesteddict['abc']['spam'] = 'ham'
    

    请注意,您描述的是一个简单的嵌套结构;你也可以不使用defaultdict 来构建它,但是这个类使它更容易做到。

    【讨论】:

    • 哦,来吧。这不公平。答应我,当你达到 100k 时,你会给我们其他人至少 30 秒的让分!
    • 太棒了!感谢您先生的极快响应!...一旦至少 15 分钟过去了,我将接受答案。 :)
    • @ToOsIK:我赶时间;也许其他人可以想到更好的东西,也给他们一个机会! :-)
    • @DSM:我明天大部分时间都会离开......试着找出平静! :-P
    • @DSM -- 你认为我们可以说服版主 Martijn 以某种方式破解了 SO 以便他有机会在其他用户之前看到每个问题 -- 或者他是某种非常聪明和有用的非垃圾邮件机器人? (说真的——我想我连打字都不会那么快)
    猜你喜欢
    • 2011-04-15
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    相关资源
    最近更新 更多