eas*_*de5 3 python data-structures
我正在寻找一个混合了OrderedDict但也可以通过整数寻址的数据结构,具体取决于添加元素的时间.
即
config_key = OrderedDict([('Version_Number', 'a'),
('Hardware_Config', 'b'),
('Size_Of_Data', 'c'),
('Checksum', 'd')])
Run Code Online (Sandbox Code Playgroud)
这将起到如下作用:
>> 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
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
如果您使用的是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)
Run Code Online (Sandbox Code Playgroud)
编辑:
(对不起所有这些错误,我只是快速输入它,让你知道该怎么做.)
[]语法,因为,作为一个列表,更有意义.