numbers = ['3','1','6','5','4','4','3','2','1','4','3','5','4','9','84','7','878','6']
counts = dict()
for number in numbers:
counts[number] = counts.get(number, 0) + 1
print counts
for k,v in sorted(counts.items()):
print k,v
Output:
{'878': 1, '1': 2, '3': 3, '2': 1, '5': 2, '4': 4, '7': 1, '6': 2, '9': 1, '84': 1} 1 2 2 1 3 3 4 4 5 2 6 2 7 1 84 1 878 1 9 1
Why is 9 the last one instead of 84 and 878?