微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决是否有一个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”语法,因为作为列表,这更有意义。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。