如何實(shí)現(xiàn)有序的、默認(rèn)的DECT?我想把OrderedDict()和defaultdict()從…collections在一個(gè)對(duì)象中,這將是一個(gè)有序的、默認(rèn)的dict.這個(gè)是可能的嗎?
3 回答

慕森卡
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
在Python2.7.X和3.4.X上進(jìn)行了測(cè)試:
from?collections?import?OrderedDict,?defaultdictclass?OrderedDefaultDict(OrderedDict,?defaultdict): ????def?__init__(self,?default_factory=None,?*args,?**kwargs): ????????#in?python3?you?can?omit?the?args?to?super ????????super(OrderedDefaultDict,?self).__init__(*args,?**kwargs) ????????self.default_factory?=?default_factory
如果你檢查了全班的MRO(又名,help(OrderedDefaultDict)
),你會(huì)看到這個(gè):
class?OrderedDefaultDict(collections.OrderedDict,?collections.defaultdict) ?|??Method?resolution?order: ?|??????OrderedDefaultDict ?|??????collections.OrderedDict ?|??????collections.defaultdict?|??????__builtin__.dict?|??????__builtin__.object
意味著當(dāng)OrderedDefaultDict
初始化后,它將服從OrderedDict
但是這個(gè)人反過(guò)來(lái)會(huì)調(diào)用defaultdict
調(diào)用前的方法__builtin__.dict
這正是我們想要的。
添加回答
舉報(bào)
0/150
提交
取消