gpt4 book ai didi

python - 如何计算 collections.Counter() 在 python 中的共现?

转载 作者:太空宇宙 更新时间:2023-11-03 13:21:40 25 4
gpt4 key购买 nike

我了解了 collections.Counter()最近上课,因为它是一种简洁(而且快速??)的计数方式,所以我开始使用它。

但我最近在我的程序中发现了一个错误,因为当我尝试用元组更新计数时,它实际上将其视为一个序列并更新元组中每个项目的计数 而不是计算我插入那个特定元组的次数

例如,如果您运行:

import collections
counter = collections.Counter()
counter.update(('user1', 'loggedin'))
counter.update(('user2', 'compiled'))
counter.update(('user1', 'compiled'))

print counter

你会得到:

Counter({'compiled': 2, 'user1': 2, 'loggedin': 1, 'user2': 1})

结果。有没有办法用 Counter() 来计算元组?我可以连接字符串,但这……很难看。我可以使用命名元组吗?实现我自己的非常简单的字典计数器?不知道什么是最好的。

最佳答案

当然:您只需添加一个间接级别,即传递 .update 一个以元组作为元素的容器。

>>> import collections
>>> counter = collections.Counter()
>>> counter.update((('user1', 'loggedin'),))
>>> counter.update((('user2', 'compiled'),))
>>> counter.update((('user1', 'compiled'),))
>>> counter.update((('user1', 'compiled'),))
>>> counter
Counter({('user1', 'compiled'): 2, ('user1', 'loggedin'): 1, ('user2', 'compiled'): 1})

关于python - 如何计算 collections.Counter() 在 python 中的共现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11883194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com