栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python-如何实现有序的默认字典?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-如何实现有序的默认字典?

以下内容(使用此食谱的修改版)对我有用:

from collections import OrderedDict, Callableclass DefaultOrderedDict(OrderedDict):    # Source: http://stackoverflow.com/a/6190500/562769    def __init__(self, default_factory=None, *a, **kw):        if (default_factory is not None andnot isinstance(default_factory, Callable)): raise TypeError('first argument must be callable')        OrderedDict.__init__(self, *a, **kw)        self.default_factory = default_factory    def __getitem__(self, key):        try: return OrderedDict.__getitem__(self, key)        except KeyError: return self.__missing__(key)    def __missing__(self, key):        if self.default_factory is None: raise KeyError(key)        self[key] = value = self.default_factory()        return value    def __reduce__(self):        if self.default_factory is None: args = tuple()        else: args = self.default_factory,        return type(self), args, None, None, self.items()    def copy(self):        return self.__copy__()    def __copy__(self):        return type(self)(self.default_factory, self)    def __deepcopy__(self, memo):        import copy        return type(self)(self.default_factory,    copy.deepcopy(self.items()))    def __repr__(self):        return 'OrderedDefaultDict(%s, %s)' % (self.default_factory,   OrderedDict.__repr__(self))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431836.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号