<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Histogramme et dictionnaire
Compter les occurences de nombres dans une liste est assez facile avec un dictionnaire.
Step1:  Mesurer le temps que cela prend 
Step2:  Comparons avec une autre implémentation 
Step3:  Et une dernière version, la plus rapide 
<ASSISTANT_TASK:>
Python Code:
import random
num = [random.randint(0,10) for i in range(1000)]
hist = {}
for i in num:
    hist[i] = hist.get(i, 0) + 1
hist
Explanation: Histogramme et dictionnaire
Compter les occurences de nombres dans une liste est assez facile avec un dictionnaire.
End of explanation
def count1(num):
    hist = {}
    for i in num:
        hist[i] = hist.get(i, 0) + 1
    return hist
%timeit count1(num)
Explanation: Mesurer le temps que cela prend :
End of explanation
def count2(num):
    hist = {}
    for i in num:
        if i in hist:
            hist[i] += 1
        else:
            hist[i] = 1
    return hist
%timeit count2(num)
Explanation: Comparons avec une autre implémentation :
End of explanation
from collections import Counter
def count3(num):
    return Counter(num)
%timeit count3(num)
Explanation: Et une dernière version, la plus rapide :
End of explanation
<END_TASK>