Como contar co-ocorrências com collections.Counter () em python?
Eu aprendi sobre ocoleções.Contador () class recentemente e, como é uma maneira legal (e rápida) de contar coisas, eu comecei a usá-lo.
Mas eu detectei um bug no meu programa recentemente devido ao fato de que quando eu tento atualizar a contagem com uma tupla, ela realmente trata isso como uma sequência eatualiza a contagem para cada item na tupla em vez de contarquantas vezes eu inseri essa tupla em particular.
Por exemplo, se você executar:
import collections
counter = collections.Counter()
counter.update(('user1', 'loggedin'))
counter.update(('user2', 'compiled'))
counter.update(('user1', 'compiled'))
print counter
Você terá:
Counter({'compiled': 2, 'user1': 2, 'loggedin': 1, 'user2': 1})
como um resultado. Existe uma maneira de contar as tuplas com o contador ()? Eu poderia concatenar as cordas, mas isso é ... feio. Eu poderia usar tuplas nomeadas? Implementar meu próprio contador de dicionário simples? Não sei o que é melhor.