Python OrderedDict怎么用

Python (160) 2023-05-29 03:36:02

1、为了维持Key的顺序,可以使用OrderedDict。OrderedDict的Key按插入顺序排列,不是Key本身。

>>>fromcollectionsimportOrderedDict
>>>d=dict([('a',1),('b',2),('c',3)])
>>>d#dict的Key是无序的
{'a':1,'c':3,'b':2}
>>>od=OrderedDict([('a',1),('b',2),('c',3)])
>>>od#OrderedDict的Key是有序的
OrderedDict([('a',1),('b',2),('c',3)])

2、OrderedDict可以实现一个FIFO(先进先出)的dict,当容量超出限制时,先删除最早添加的Key:

fromcollectionsimportOrderedDict

classLastUpdatedOrderedDict(OrderedDict):

def__init__(self,capacity):
super(LastUpdatedOrderedDict,self).__init__()
self._capacity=capacity

def__setitem__(self,key,value):
containsKey=1ifkeyinselfelse0
iflen(self)-containsKey>=self._capacity:
last=self.popitem(last=False)
print('remove:',last)
ifcontainsKey:
delself[key]
print('set:',(key,value))
else:
print('add:',(key,value))
OrderedDict.__setitem__(self,key,value)

以上就是PythonOrderedDictde的用法,希望对大家有所帮助。

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

THE END

发表回复