![]() |
1
46
我在回答我自己的问题,因为我最终决定
做
希望对dict进行子类化,而不是创建新的映射类,并且在某些情况下,userdict仍然遵从基础dict对象,而不是使用提供的
在读取和重新读取python 2.6.4源代码之后(主要是
彼得·汉森的建议让我更仔细地观察
我用以下代码测试过它:
它过去了。我尝试过的所有其他实现在某个时刻都失败了。我仍然会接受任何能表明我错过了什么的答案,但否则,我会在几天内勾选这一个旁边的复选标记,并称之为正确的答案:) |
![]() |
2
4
您对dict子类化的用例是什么? 您不需要这样做来实现类似dict的对象,在您的情况下,编写一个普通类,然后添加对dict接口所需子集的支持可能会更简单。 实现您所追求的目标的最佳方法可能是mutablemapping抽象基类。 PEP 3119 -- Introducing Abstract Base Classes 这也将帮助您回答“是否还有其他方法需要重写?”。您将需要重写所有抽象方法。对于可变映射:抽象方法包括 设置项 , 德莱特 . 具体方法包括pop、popitem、clear、update。 |
![]() |
3
3
我发现伊恩的回答和评论非常有帮助和清晰。我只想指出,也许是第一次给超级班打电话
用:
然后上面发布的测试代码失败:
看着
collections.py code
结果是有秩序的信息技术
需要
它的
因此,只需向super添加第一个调用
我们有一个更通用的解决方案,显然对dict和ordereddict都有效。
我不能说明这个解决方案是否一般有效,因为我只使用ordereddict测试它。但是,很可能是打电话给超级
|
![]() |
4
0
使用object.keyname=value而不是object[“keyname”]=value |
![]() |
eymentakak · json字典类型错误:字符串索引必须是整数 3 年前 |
![]() |
Rohan Mittal · 按dict值对dict排序 3 年前 |
![]() |
mars · 将值作为元组对字典进行排序 3 年前 |
![]() |
Sher Meen · 我需要列出一个循环中临时变量中存储的多个值 3 年前 |
![]() |
Shubh · 如何将字典行附加到空数据帧中? 3 年前 |
![]() |
kms · 从pandas中的字典中读取数据并指定新的列值 3 年前 |
![]() |
Alex · 如何向嵌套字典json添加值? 3 年前 |