Как рассчитать совпадения с коллекциями. Counter () в Python?
Я узнал оcollections.Counter () Недавно я начал пользоваться этим классом, и, поскольку это удобный (и быстрый) способ подсчета материала, я начал его использовать.
Но недавно я обнаружил ошибку в моей программе из-за того, что когда я пытаюсь обновить счет с помощью кортежа, он фактически обрабатывает его как последовательность иupdates the count for each item in the tuple вместо того чтобы считатьhow many times I inserted that particular tuple.
Например, если вы запустите:
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 ()? Я мог бы соединить строки, но это ... некрасиво. Могу ли я использовать именованные кортежи? Реализовать свой собственный очень простой словарный счетчик? Не знаю, что лучше.