什么是 dict_keys、dict_items 和 dict_values?

2024-03-28

我在使用的时候遇到过这三种类型collections.Counter的 viewkeys()、viewitems() 和 viewvalues() 方法。

这三个方法返回的值都是类型dict_keys, dict_items and dict_values.

正如我所注意到的,它们是可迭代的。

但我的问题是,为什么会存在这三种类型?或者说它们的用途是什么?


The 2.7 中的新增内容 http://docs.python.org/dev/whatsnew/2.7.html#pep-3106-dictionary-views文档是介绍这些内容的地方。这些“意见”被提出(建议here http://www.python.org/dev/peps/pep-3106/)对于 Python 3(并且向后移植到 2.7,如您所见)作为它们引用的字典片段的最佳工具。

在我们拥有之前keys/values/items简单地制作列表的方法。这通过复制字典的信息浪费了内存,我们有iterkeys/itervalues/iteritems没有浪费内存但功能不是很强的方法(你唯一能做的就是迭代它们,而且你只能这样做一次)。这些新视图具有逻辑特性,例如集合操作、高效比较以及可多次迭代。

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

什么是 dict_keys、dict_items 和 dict_values? 的相关文章

  • 扭曲多种协议

    我希望为我正在从事的项目学习扭曲 该项目需要服务器响应 HTTP 请求以及通过 TCP 连接的其他协议 Twisted能够同时处理多种协议吗 我想使用 Twisted Web 来帮助处理 HTTP 但同时需要响应其他端口上的 TCP 连接
  • c++11 正则表达式比 python 慢

    嗨我想了解为什么以下代码使用正则表达式进行分割字符串分割 include
  • 如何在anaconda python 3.6上安装tensorflow

    我使用 anaconda 包安装了新版本的 python 3 6 但是我无法安装张量流 总是收到这样的错误 tensorflow gpu 1 0 0rc2 cp35 cp35m win amd64 whl 在此平台上不受支持 如何在 ana
  • 使用 Python 将列名称与 CSV 文件中的数据对齐

    这是我用来将数据写入 csv 文件的代码 with open temp csv a as fp a csv writer fp delimiter t data faceXpos faceYpos faceHeight faceWidth
  • 如何将数据从 JavaScript 发送到 Python

    我正在 jinja2 和 python2 7 上使用 GAE 进行 Web 开发 我可以从Python获取数据 但我无法将数据从 JavaScript 发送到 Python 这是 JavaScript 代码 function toSave
  • 如何使用格式保存 Tkinter 文本小部件的内容

    我在 python 中使用 Tkinter 在文本窗口中显示输出 我发现使用 get 功能我可以从此窗口检索文本内容 但我有用不同背景颜色标记的文本部分 是否可以将内容与这些颜色一起复制到文件 例如 html 或 doc 中 没有对你想要的
  • R.scale() 和 sklearn.preprocessing.scale() 之间的区别

    我目前正在将数据分析从 R 转移到 Python 当在 R 中缩放数据集时 我将使用 R scale 根据我的理解 它将执行以下操作 x mean x sd x 为了替换该函数 我尝试使用 sklearn preprocessing sca
  • 将具有多个时区的 pandas 列转换为单个时区

    Problem 我在 pandas DataFrame 中有一个列 其中包含带有时区的时间戳 此列中有两个不同的时区 我需要确保只有一个 这是该列末尾的输出 260003 2019 05 21 12 00 00 06 00 260004 2
  • django-allauth:电子邮件确认

    我已经设置了 django allauth 并在新用户注册时使用电子邮件确认 效果很好 但在确认电子邮件中 我得到 Hello from example com You re receiving this e mail because us
  • 无法使用 wxPython 打开在 folium 中生成的本地 HTML 文件

    我目前正在尝试将 GPS 坐标绘制为地图上的标记 并在 wxPython 中显示结果 我使用 folium 绘制坐标标记并生成 HTML 文件 import folium fmap folium Map 43 5321 172 6362 z
  • NumPy 根据另一个数组中的值对第三个数组中的每个匹配元素求和一个数组

    我有两个 numpy 数组 一个包含值 另一个包含每个值类别 values np array 1 2 3 4 5 6 7 8 9 10 valcats np array 101 301 201 201 102 302 302 202 102
  • 在python中检测按下了哪些键

    我需要知道现在按下的是哪个键 我不想捕获一些特定的按键来触发事件或类似的事情 我想知道现在按下了哪些键并显示它们的列表 我还需要捕获特殊键 如 F1 F12 shift alt home windows 等 基本上是键盘上的所有键 我如何在
  • 如果任何单元测试失败,如何使 Python 的覆盖率工具失败?

    我想使用 shell 脚本来确保我的单元测试通过and我的代码有足够的测试覆盖率 我只想运行我的测试代码once 我希望我可以通过coverage https coverage readthedocs io 工具和单次运行的工具 如果一项或
  • 如何在 Haskell 中向右或向左移动列表的 1 个元素?

    嗨 我一直在寻找答案 但找不到 假设我们有一个像这样的列表 1 10 4 5 3 我怎样才能将 5 向左移动 使这个列表变成 1 10 5 4 3 我尝试过了swapElementsAt通过找到该元素的索引 但它看起来非常不足 swapEl
  • 如何仅在按下某个键时触发鼠标单击?在Python中

    我想制作一个程序 或者当我单击某个键时 鼠标会自动单击 只要我单击该键 如果我不单击该键 它就会停止 我不希望只在触摸按键一次时才发生点击 而是只要按住按键就发生点击 也可以像雷蛇突触鼠标一样按下鼠标左键触发点击 任何想法 EDIT 1 这
  • 如何单独捕获这些异常?

    我正在编写一个与 Quickbooks 交互的 Python 程序 连接到 Quickbooks 时 根据问题的不同 我可能会遇到以下两个常见异常之一 pywintypes com error 2147352567 Exception oc
  • Hoare Partitioning算法讲解

    根据许多网站给出的伪代码 我写了这个Hoare分区算法 它采用一个数组 根据给定的主元来分区子数组的开始和结束索引 它工作得很好 但是有人可以解释一下逻辑 它是如何做到这一点的吗 这是代码 def hoare arr start end p
  • 内置模块位于哪里?

    我尝试查找列出的所有目录sys path但我找不到任何builtins py文件 那么它在哪里呢 从字面上看 该模块内置于 python 解释器中 gt gt gt import builtins gt gt gt builtins
  • 如何将动态数据传递给装饰器

    我正在尝试编写一个基本的 CRUD 控制器类来执行以下操作 下列的 class BaseCrudController model field validation template dir expose self template dir
  • 如何通过解析导入来组合并获取单个 Python 文件

    我正在尝试获取单个 Python 文件作为输出 我有一个 Python 脚本 其中有多个此类导入 from that import sub 导入来自所有本地模块 而不是来自系统或 Python 库 有什么方法可以解决这些问题并获得一个完整的

随机推荐

  • 使用 Gradle 运行多个 Spring Boot 微服务

    我正在开发一个使用 Gradle 构建的 Spring Boot 应用程序 我们有多个微服务作为该应用程序的子项目 我正在尝试使用 Spring Boot 的 bootRun 任务从命令行使用单个 bootRun 命令运行应用程序和所有微服
  • Android 模拟器停止显示屏幕键盘?

    我在 eclipse 中使用 AVD 管理器 是否有一个设置可以用来在输入字段获得焦点时停止显示屏幕键盘 我尝试了硬件键盘 true 但模拟器似乎根本没有启动 S 姆斯托伊克的回答 https stackoverflow com a 541
  • 如何调试CompletableStage死锁?

    我最近遇到的最困难的调试问题是异步操作之间的死锁 例如 给定两个CompletionStage链 其中第一个链调用依赖于第二个链的完成的方法 第二个链调用依赖于第一个链的完成的方法 这在现实生活中并不那么明显 因为依赖关系往往是隐藏的 有时
  • OTRS:使用 wsdl 生成 Java SEI 时出错

    Windows 7 Java 7 OTRS appliannce 我正在尝试使用 wsimport 来生成带有 wsdl 文件的 Java SEIhttps raw githubusercontent com OTRS otrs maste
  • C 中 (*p)[8] 和 *p[8] 有什么区别?

    两个声明如下 int p 8 int p 8 第一个是single指向 8 个整数的数组的指针 而第二个是array8 个指针 每个指针指向一个整数 如果你只是踢起来cdecl 对于这类事情来说非常棒 pax cdecl Type help
  • 如何使用 laravel-mix 将 mdbootstrap vue 加载到 Laravel 5 中?

    我正在尝试将 mdbootstrap vue 安装到 Laravel 5 6 项目中 但我真的不明白我该怎么做 如果有人能给我一些教程 那就太好了 试试这个 已更新 假设你已经安装了laravel 转到您的项目目录并执行以下操作 npm i
  • 删除 Ember 数据中 POST/PUT 操作的 JSON 根元素

    我正在使用一个 Web 服务 该服务在 POST PUT 动词中需要如下所示的 JSON id CACTU companyName Cactus Comidas para llevar contactName Patricio Simpso
  • 字典中的差异

    我试图找出字典中的差异 是否添加或删除了某些内容以及从什么内容中添加或删除了某些内容 这是一个添加值的情况 original 0 None 1 False 2 16 new 0 None 1 False 2 2 16 difference
  • 从构建中获取 BuildAgent 信息

    我有一个 IBuildDetail 变量 其中包含我需要的构建信息 好的 但是当我检查属性 BuildAgent 时 它显示 build BuildAgent 抛出了类型为 System NotImplementedException 的异
  • Windows CMD 中的创建日期

    使用 Windows 批处理 此函数返回文件的创建日期 creationDate set CompareFile 1 echo CompareFile for f skip 5 tokens 1 2 4 5 delims a in dir
  • 如何获取内存中对象的数据集?

    有谁知道与泛型和 RTTI 一起使用的 TDataset 后代 以便我可以编写这样的代码 并在 GUI 中使用数据感知组件 ds TDataset
  • 如何使用 Clap Args 的内部库 Enum

    我目前正在研究一个铁锈端口 https github com JuxhinDB twistrs某证券的tool https github com elceef dnstwist 与 Rust 的指南一致 我想将核心库隔离到自己的包中 以便我
  • 如何以编程方式删除 Groovy 中的默认导入?

    默认情况下 一些包是在 Groovy 类中导入的 我知道您可以使用 ImportCustomizer 添加新的 但有没有一种方法可以以编程方式删除它们 预先感谢您的回答 不 如果你查看代码 你会发现标准进口 http groovy code
  • 使用java库访问谷歌云存储遇到“403禁止”

    我正在尝试在 scala 中使用谷歌云存储 java 库来列出存储桶中的项目 val credential new GoogleCredential Builder setTransport GoogleNetHttpTransport n
  • Set-AzStorageBlobContent 引发异常:路径中存在非法字符

    我正在将 Azure 部署脚本从 AzureRM 迁移到 Az 新模块似乎无法打开文件 有任何想法吗 我尝试用正斜杠替换反斜杠 我什至从脚本所在的文件夹中调用它 所以我不需要向它传递完整的文件名 它会正确地将其解析为全名 但它仍然无法打开它
  • julia变量的范围:在开放表达式的循环内重新分配

    我正在努力在 Julia 的循环中重新分配变量 我有一个以下的例子 infile test txt feature for ln in 1 3 println feature feature end open infile do f if
  • Java解析相对路径

    您将如何解决相对路径 我正在寻找的是一个类似于php的realpath的功能 该函数只需要删除所有 以便输入字符串可以安全地与其他字符串一起使用 一般的方式是使用File类获取规范路径 https docs oracle com javas
  • 如何将字符串转换为小数点后三位的小数?

    string num 23 6 我想知道如何将其转换为小数点后三位 喜欢 decimal nn 23 600 有什么方法吗 我尽力了 首先你的string num 23 6 won t even编译 您需要在字符串中使用双引号 例如stri
  • 混合模式内容 - 如何从 h1 中选择文本但不包含其子元素的文本?

    我在打印简单文本时遇到问题 h1 元素 require nokogiri doc Nokogiri HTML h1 em Name em A Johnson h1 puts doc at xpath h1 content 它输出 NameA
  • 什么是 dict_keys、dict_items 和 dict_values?

    我在使用的时候遇到过这三种类型collections Counter的 viewkeys viewitems 和 viewvalues 方法 这三个方法返回的值都是类型dict keys dict items and dict values