请问如何实现有序的、默认的DECT?

如何实现有序的、默认的DECT?我想把OrderedDict()defaultdict()从…collections在一个对象中,这将是一个有序的、默认的dict.
这个是可能的吗?

拉莫斯之舞
浏览 418回答 3
3回答

一只萌萌小番薯

这是另一种可能性,灵感来源于雷蒙德·赫廷格的超级(被认为是超级),在Python2.7.X和3.4.X上进行了测试: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)),你会看到这个:class OrderedDefaultDict(collections.OrderedDict, collections.defaultdict)  |  Method resolution order:  |      OrderedDefaultDict  |      collections.OrderedDict  |      collections.defaultdict |      __builtin__.dict |      __builtin__.object意味着当OrderedDefaultDict初始化后,它将服从OrderedDict但是这个人反过来会调用defaultdict调用前的方法__builtin__.dict这正是我们想要的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python