def compte(liste_critere, liste_effectif=[]):
    """
    Retourne la liste non triée, sans les doublons, les effectifs, les fréquences correspondantes et l'effectifs totales.
    La fonctionne NE TRIE PAS par ordre des critères : les critères n'ont pas nécessairement un ordre.
    Pour trier le résultat, utililser la fonctions trier()

    Arguments:
        liste_critere (list): une liste de critère d'une population
        liste_effectif (list, optionnel) : liste des frequences ou des effectifs des critères
    """
    n = len(liste_critere)
    eff_tot = 0
    leff = []
    if liste_effectif == []:
        leff = [1] * n
    elif liste_effectif != [] and len(liste_effectif) != n:
        print("Erreur : les 2 listes n'ont pas le même nombre déléments !")
    else:
        leff = liste_effectif
    critere_groupe = []
    eff_groupe = []
    for i in range(n):
        if liste_critere[i] not in critere_groupe:
            critere_groupe.append(liste_critere[i])
            eff_groupe.append(leff[i])
            eff_tot += leff[i]
        else:
            eff_groupe[critere_groupe.index(liste_critere[i])] += leff[i]
            eff_tot += leff[i]
    return [critere_groupe, eff_groupe, [(float(i) / eff_tot) for i in
        eff_groupe], eff_tot]
