如何在Python 3中实现UserDict.DictMixin的功能?

时间:2012-06-22 22:57:19

标签: dictionary python-3.x dictmixin

在Python 3中,UserDict.DictMixin类已移至collections模块。文档建议在其位置使用collections.MutableMapping,但是这个抽象类没有提供DictMixin做/做的许多方法。

是否有另一种(或更好的)方法来定义它们而不是抓取UserDict.Mixin源的私有副本以便将其导入(或者可能只是将所需的部分复制)到我自己的类字典类中? / p>

1 个答案:

答案 0 :(得分:3)

"多种方法"具体是__len____iter__所以额外的工作不是那么多。

def __len__(self):
    return len(self.mylist)

def __iter__(self):
    for i in self.mylist:
        yield i

应该工作,我认为(虽然未经测试)。