j'ai besoin de votre aide pour réaliser un programme ou du moins le compléter.
Je souhaiterais créer une fonction qui à partir d'une liste de mots et du nombre de fois qu'ils sont répétés (occurrences), classer cette liste des mots les plus fréquents aux moins fréquents.
Ici le code pour compter les occurrences :
def occurrence(txt):
dic={}
List = a.split()
ListNoDuplication = list(set(List))
for word in ListNoDuplication :
dic[word] = List.count(word)
return dic
a=input("phrase : ")
print(occurrence(a))
merci à ceux qui répondront
Ma vie est pleine de bugs, un simple reboot suffirait à lui rendre ses performances
Je n'ai pas trop l'habitude de travailler avec des dictionnaires, je te propose donc une solution avec des listes. Je suppose qu'il y avait un moyen plus simple de parvenir à ce résultat mais quoi qu'il en soit je te propose mon code :
def occurrence(txt):
nbreOccur=[]
ordered=[]
explode = txt.split(' ')
explodeSansDoublons = list(set(explode))
for mot in explodeSansDoublons:
nbreOccur.append(explode.count(mot))
nbreOccur=sorted(nbreOccur, reverse=True)
for valeur in nbreOccur:
for mot in explodeSansDoublons:
if explode.count(mot)==valeur and mot not in ordered:
ordered.append(mot)
return ordered
S'il ne s'agit pas d'un exercice et que tu as réellement besoin d'une telle fonction, je te conseille déjà de remplacer ta fonction occurrence par un objet Counter du module collections (collections.Counter(txt.split())).
Ensuite, tu peux utiliser la méthode most_common de l'objet Counter pour obtenir la liste dans l'ordre souhaité.
>>> import collections
>>> txt = 'le petit chat est mort il est tombé du toit'
>>> counts = collections.Counter(txt.split())
>>> counts.most_common()
[('est', 2), ('il', 1), ('petit', 1), ('du', 1), ('chat', 1), ('mort', 1), ('tombé', 1), ('le', 1), ('toit', 1)]
× 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.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique