10

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

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

4

1 回答 1

5

The "number of methods" are specifically __len__ and __iter__ so the additional work is not that much.

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

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

Should work, I think (untested, though).

于 2012-06-22T23:43:39.180 回答