tu as un tableau t de n valeurs; on veut savoir combien de fois chaque valeur unique apparaît dans t, donc pour ça on créé le dictionnaire ht qui aura pour clé les valeurs uniques et pour valeur de ces clés le nombre d'apparition de la valeur dans t. exemple: si t[]=[1,2,3,2,5,4,2,3,4,8], on doit avoir ht={1:1, 2:3, 3:2, 4:2, 5:1, 8:1} (la valeur 1 apparaît 1 fois dans t, la valeur 2 apparaît 3 fois, etc etc) et comme on veut vmax (la valeur qui est présente le plus de fois) ici 2, on regarde à chaque fois la valeur qui est apparu (on pourrait aussi ne le regarder qu'à la fin du parcours de t)
l'algo donné indique de garder en mémoire la plus grande valeur des compteurs cmax et sa clé vmax à chaque itération (on veut peut-être pouvoir savoir à chaque itération, quel est l'élément qui a la fréquence max )
L=[1,2,3,2,5,4,2,3,4,8]
D=dict.fromkeys(L,0)
for k in L: D[k]+=1
T=max(D,key=D.get)
print(f'Le nombre {T} apparait {D[T]} fois.')
Avec Counter on fait encore plus court
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
from collections import Counter
maxi = lambda d: list(d.keys())[list(d.values()).index(max(list(d.values())))]
L = [1, 2, 3, 2, 5, 4, 2, 3, 4, 8]
D = Counter(L)
T = maxi(D)
print(f'Le nombre {T} apparait {D[T]} fois.')
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
> mais tu perds le dictionnaire là, faut déplacer Counter.
Ça dépend si on veut garder le dictionnaire ou pas.
@fred1599:
Ce qu'on perd en longueur, on le gagne en largeur, semble-t-il ...
Il semble qu'on a perdu de vue notre ami Rdmanonymous
@umfred: Je garde aussi ta suggestion:
T=Counter(L).most_common(1)
Le Tout est souvent plus grand que la somme de ses parties.
Aide complexité d'un algorithme
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.
Python c'est bon, mangez-en.
Le Tout est souvent plus grand que la somme de ses parties.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Python c'est bon, mangez-en.
Le Tout est souvent plus grand que la somme de ses parties.
Python c'est bon, mangez-en.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Le Tout est souvent plus grand que la somme de ses parties.