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

2023-11-26

在 Python 3 中UserDict.DictMixin班级被转移到collections模块。文档建议使用collections.MutableMapping然而,这个抽象类并没有提供许多方法。DictMixin确实/做过。

除了获取私有副本之外,还有其他(或更好)的方法来定义它们吗?UserDict.Mixin导入源(或者可能只是将其所需部分复制到我自己的类似字典的类中)?


“方法的数量”具体是__len__ and __iter__所以额外的工作并没有那么多。

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

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

我认为应该有效(尽管未经测试)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python 3中实现UserDict.DictMixin的功能? 的相关文章

随机推荐

  • 复制嵌套自定义对象:深度复制的替代方案

    我正在寻找一个包含类对象列表的类对象的深层副本 每个类对象都有自己的一组内容 这些对象不包含任何比整数和列表更令人兴奋的东西 没有字典 没有等待生成的生成器等 我正在一个循环中对 500 800 个对象执行深度复制 这确实减慢了程序速度 我
  • 通过互操作在 Excel 中绘制网格线

    知道在互操作中使用 Excel 2003 时关闭网格线的设置隐藏在哪里吗 DisplayGridlines 是 Excel Window 对象上的一种方法 例如 ActiveWindow DisplayGridlines true
  • 有没有办法将命名参数传递给格式宏而不重复变量名称?

    使用 Rust 的新版本 您可以像这样简化结构初始化 Foo a a b b to this Foo a b 是否可以做类似的事情format println 类似宏 现在我需要这样写 let a a let b b write file
  • JavaFX:最初从 FXML 加载场景时,在 java 代码中向场景添加新节点

    当场景最初从 FXML 加载时 如何在 java 代码中向场景添加新节点 我已经从 FXML 加载 如下所示 Parent root FXMLLoader load getClass getResource sample fxml Scen
  • MySQL 选择列名作为字段

    我有一个 mysql 表 看起来像这样 id col 1 col 2 col 3 1 2 34 64 2 6 53 23 我希望能够查询 id 并获取多行 每一列一行 例如 SELECT column name as column colu
  • 如何从图形中删除框架

    要删除图中的框架 我写 frameon False 完美配合pyplot figure 但与matplotlib Figure它仅删除灰色背景 框架保持不变 另外 我只希望线条显示 图形的所有其余部分都是透明的 使用 pyplot 我可以做
  • 使用 Python pdfMiner 提取每页文本?

    我尝试过使用 pypdf 和 pdfMiner 从 PDF 文件中提取文本 我有一些不友好的 PDF 只有 pdfMiner 才能成功提取 我正在使用代码here提取整个文件的文本 但是 我真的很想在每页的基础上提取文本 例如pages i
  • git svn 与 git 子树兼容吗?

    现在 git subtree 已经合并到核心 git 发行版中 从 1 8 0 开始它也在 Msysgit 上 有谁知道 git svn 是否可以与 git subtree 一起使用 注意 我不是在谈论子树合并策略 而是关于this 使用
  • 很长的单词无法在 HTML/CSS 中换行

    我遇到一个问题 如果用户输入长评论 单词 例如 coooooooooooooooooooooooooooooooooooooool 这会破坏页面上的格式 下面是帮助解释场景 未按比例 以及所使用的代码的图像 Html div class c
  • Firebase child_added 仅添加子项

    来自 Firebase API 添加子项 每个初始子项都会触发该事件一次 在此位置 每次有新的触发时都会再次触发 添加了孩子 一些代码 listRef on child added function childSnapshot prevCh
  • 使用 google-play-services_lib 添加 admob 广告后 Android 应用程序大小增加

    我将发布我的应用程序的两个版本 付费版本和免费版本 带有 AdMob 广告 除了我在 AdMob 服务的免费版本中使用的 google play service lib 之外 这两个版本完全相同 使用proguard后最终的apk大小是 付
  • 为什么在 Java 中将数组声明为 Final 不会使其不可变?

    为什么在 Java 中将数组声明为 Final 不会使其不可变 宣布某件事是最终的不是意味着它不能改变吗 From 关于不可变数组的问题很明显 将数组声明为final并不意味着它就不可更改 以下是可能的 final int array ne
  • 如何修改只读属性(element.classList)或将其分配给javascript中的其他值?

    window addEventListener keydown function e const key document querySelector div data key e keyCode console log key class
  • 用实际的 jQuery 改变角度 jQLite

    我希望 AngularJS 默认使用 jQuery 而不是 jQLite 是否可以 因此 在指令链接函数中 link function scope element attrs ngModel element必须是 jQuery 对象 现在我
  • 在 Docker 中运行 mysql_upgrade?

    我试图使用以下命令创建用户 docker exec i database mysql uroot proot e CREATE USER dbadmin 但是我遇到了这个错误 ERROR 1054 42S22 at line 1 Unkno
  • RecyclerView OnScrollListener() 问题

    我有大约 32 条 json 记录 我使用 RecyclerView 来显示它们 并且我已经实现了 OnScrollListener Question 我启动了一个 Activity 我获取了所有 32 条记录 现在当我滚动时 为什么我再次
  • Perl CGI 通过网络浏览器下载文件

    需要一些可以从服务器计算机下载文件的 cgi perl 脚本 EX 单击下载链接 它将打开 另存为 窗口并允许我将文件保存在本地计算机上 我已经使用 CGI 创建了一个网页 使用它我将上传一个文件到服务器 并运行一个 perl 脚本将其转换
  • 使用 python 对列表中相同键的多个值求和

    我有一个如下所示的列表 151258350 2464 151258350 56 151262958 56 151258350 56 151262958 112 151262958 112 151259627 56 151262958 112
  • MySQL PHP PDO 准备好的语句 - 性能问题与安全性

    我正在考虑使用 InnoDB 现在是 mysql query 和 MyISAM 将一些开源应用程序重写为 PDO 和事务 我的问题是 哪些情况下使用准备好的语句是合理的 因为我读到的所有地方都指出 甚至在这里的许多帖子中 我应该随时随地使用
  • 如何在Python 3中实现UserDict.DictMixin的功能?

    在 Python 3 中UserDict DictMixin班级被转移到collections模块 文档建议使用collections MutableMapping然而 这个抽象类并没有提供许多方法 DictMixin确实 做过 除了获取私