I am new to Python. I am trying to find a simple way of getting a count of the number of elements repeated in a list e.g.

``````MyList = ["a", "b", "a", "c", "c", "a", "c"]
``````

Output:

``````a: 3
b: 1
c: 3
``````

You can do that using `count`:

``````my_dict = {i:MyList.count(i) for i in MyList}

>>> print my_dict     #or print(my_dict) in python-3.x
{'a': 3, 'c': 3, 'b': 1}
``````

Or using `collections.Counter`:

``````from collections import Counter

a = dict(Counter(MyList))

>>> print a           #or print(a) in python-3.x
{'a': 3, 'c': 3, 'b': 1}
``````

Use `Counter`

``````>>> from collections import Counter
>>> MyList = ["a", "b", "a", "c", "c", "a", "c"]
>>> c = Counter(MyList)
>>> c
Counter({'a': 3, 'c': 3, 'b': 1})
``````

This works for Python 2.6.6

``````a = ["a", "b", "a"]
result = dict((i, a.count(i)) for i in a)
print result
``````

prints

``````{'a': 2, 'b': 1}
``````

``````yourList = ["a", "b", "a", "c", "c", "a", "c"]
``````

expected outputs {a: 3, b: 1,c:3}

``````duplicateFrequencies = {}
for i in set(yourList):
duplicateFrequencies[i] = yourList.count(i)
``````

Cheers!! Reference

``````In : MyList = ["a", "b", "a", "c", "c", "a", "c"]

In : count = {}

In : for i in MyList:
...:     if not i in count:
...:         count[i] = 1
...:     else:
...:         count[i] +=1
...:

In : count
Out: {'a': 3, 'b': 1, 'c': 3}
``````