【问题标题】:What are dict_keys, dict_items and dict_values?什么是 dict_keys、dict_items 和 dict_values?
【发布时间】:2011-11-09 22:27:39
【问题描述】:

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

这三个方法返回的值是dict_keysdict_itemsdict_values类型。

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

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

【问题讨论】:

    标签: python list dictionary


    【解决方案1】:

    What's new in 2.7 文档是介绍这些的地方之一。这些“视图”是为 Python 3 引入的(建议 here)(并向后移植到 2.7,如您所见),作为它们所指的 dict 片段的最佳选择。

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

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 1970-01-01
      • 2012-11-01
      • 2017-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      相关资源
      最近更新 更多