是否有一个python数据结构:通过键和顺序进行键控,排序和可寻址?

| 我正在寻找一个混合了OrderedDict但也可以通过整数寻址的数据结构,具体取决于添加元素的时间。 即
config_key = OrderedDict([(\'Version_Number\', \'a\'),
                (\'Hardware_Config\', \'b\'),
                (\'Size_Of_Data\', \'c\'),
                (\'Checksum\', \'d\')])
该功能将类似于:
>> print config_key[\'Version_Number\']
a
>> print config_key[0]
a
>> print config_key[\'Size_Of_Data\']
c
>> print config_key[2]
c
>> for x in config_key:
>>  print x
Version_Number
Hardware_Config
Size_Of_Data
Checksum
有任何想法吗?
已邀请:
如果您使用的是Python 2.7+,则内置了一个。 http://docs.python.org/library/collections.html#collections.OrderedDict 编辑:所以看起来项目的顺序通过弹出操作受支持,但是您可以通过
list(my_ordered_dict)[i]
进行所需的操作,其中
i
是整数。
# Make your own like this...
class CustomOrderedDict(collections.OrderedDict):
    def __getitem__(self,key):
        try:
            return self.values()[key]
        except TypeError:
            return super(CustomOrderedDict,self).__getitem__(key)
编辑: (对于所有这些错误,很抱歉,我只是快速输入了一下,以使您知道该怎么做。) 固定的返回值而不是键 固定递归 切换列表访问“ 5”语法,因为作为列表,这更有意义。

要回复问题请先登录注册