2013-11-01 5 views

ответ

10

collections.Counter Использование:

>>> from collections import Counter 
>>> pet = ['cat','dog','fish','cat','fish','fish'] 
>>> Counter(pet) 
Counter({'fish': 3, 'cat': 2, 'dog': 1}) 
0

Как @hcwhsa сказал, вы можете использовать collections.Counter. Но если вы хотите написать свой собственный класс, вы можете начать с чего-то вроде этого:

class Counter(object): 

    def __init__(self, list): 

     self.list = list 

    def count(self): 

     output = {} 
     for each in self.list: 
      if not each in output: 
       output[each] = 0 
      output[each]+=1 
     return output 

>>> Counter(['cat', 'dog', 'fish', 'cat', 'fish', 'fish']).count() 
>>> {'fish': 3, 'dog': 1, 'cat': 2} 
Смежные вопросы