【问题标题】:Adding Counter objects with addition empty [duplicate]添加带有空的计数器对象[重复]
【发布时间】:2014-10-02 06:19:12
【问题描述】:

我正在尝试理解这种行为:

>>> Counter({'a':0})
Counter({'a': 0})
>>> Counter({'a':0}) + Counter({'a':0})
Counter()
>>> len(Counter({'a':0}))
1
>>> len(Counter({'a':0}) + Counter({'a':0}))
0

这对我来说似乎不一致——想法?

【问题讨论】:

  • 文档对此非常明确;对两个计数器求和时,计数为 0 的键会被丢弃。
  • 我查找了有关此行为的文档但找不到,这就是我在寻找的地方。还有其他建议去哪里看? docs.python.org/2/library/collections.html
  • 该页面的引用:“加法和减法通过添加或减去相应元素的计数来组合计数器。交集和联合返回相应计数的最小值和最大值。每个操作都可以接受输入有符号计数,但输出将排除计数为零或更少的结果。"
  • 它记录在该页面上;我对链接副本的回答突出显示了确切的措辞。

标签: python


【解决方案1】:

不,它不是不一致的。在对两个 Counter 类求和时,将忽略负数和零计数。请浏览此处的注释部分以获取更多详细信息:https://docs.python.org/2/library/collections.html#collections.Counter

【讨论】:

    猜你喜欢
    • 2013-08-03
    • 2015-03-16
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 2015-07-21
    • 2022-01-05
    相关资源
    最近更新 更多