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

mar*_*eau 7 dictionary python-3.x dictmixin

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

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

Len*_*bro 5

“方法的数量”是具体的__len____iter__因此额外的工作并不多。

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

def __iter__(self):
    for i in self.mylist:
        yield i
Run Code Online (Sandbox Code Playgroud)

我认为应该可以工作(但未经测试)。