源码

python – 添加计数器删除键


见下文,为什么执行=在我的原始计数器中吹掉一把钥匙?

>>> c = Counter({'a': 0, 'b': 0, 'c': 0})
>>> c.items()
[('a', 0), ('c', 0), ('b', 0)]
>>> c += Counter('abba')
>>> c.items()
[('a', 2), ('b', 2)]

我认为至少可以说这是不礼貌的,“X被统计0次”和“我们甚至不算Xs”之间存在很大差异.它看起来像集合.Counter根本不是一个计数器,它更像是一个multiset.

但是计数器是dict的子类,我们允许用零或负值构造它们:Counter(a = 0,b = -1).如果它实际上是“一包东西”,这不会被禁止,限制init接受可迭代的可迭代物品吗?

为了进一步混淆问题,counter实现更新和减去具有不同行为的方法和 – 运算符.看来这堂课正在发生身份危机!

反击是一个字典还是一个包?

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/python-tianjiajishuqishanchujian.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9月 26, 2019 at 04:39 下午

热评文章