0
votes

Comment trier les lettres par leur fréquence dans un mot?

Je veux trier les lettres dans l'ordre décroissant de leur fréquence dans un mot. Toutefois, si deux lettres ont la même fréquence, la lettre précédente alphabétique doit être cueillie.

J'ai utilisé le compteur pour trouver la fréquence de toutes les lettres et qu'il renvoie une dicte. Comment puis-je les trier dans l'ordre décroissant de leur fréquence, puis sélectionnez N nombre de lettres avec la fréquence la plus élevée dans l'ordre alphabétique xxx

supposons si le mot est "dddaacccbb" et n Est-ce que 3 puis il devrait imprimer ['A', 'C', 'D']], ici N est un nombre de lettres. La sortie est basée sur la fréquence la plus élevée pour chaque lettre et si la fréquence est similaire pour deux lettres, alors la précédente alphabétique est sélectionnée.


3 commentaires

Alors qu'est-ce que n pour?


Le mot pour ceux-ci est des "lettres", pas des "alphabets".


Si la commande est par la fréquence la plus élevée, ne devrait-il pas être ['d', 'c', 'a', 'b'] ou ['d', 'c', 'B', 'a] ?


4 Réponses :


0
votes

Vous avez juste besoin de récupérer les premiers n éléments de la liste via comptoir.most_common et extraire les lettres, le Le tri de plus à moins commun est implicitement fait par le Most_Common Code> Méthode

['d', 'c', 'a']


2 commentaires

Mais ce n'est pas la sortie que ce mec veut.


Vous avez raison, je l'ai corrigé @goodvibration s'il vous plaît jeter un coup d'oeil



0
votes

Vous pouvez utiliser trié et récupérer une tranche de compteur: xxx


0 commentaires

1
votes

Utilisez le la plupart_common () code> méthode des compteurs.

['a', 'c', 'd']


0 commentaires

0
votes

Vous pouvez utiliser la touche = paramètre de la fonction triée:

pour la plupart des ... les moins fréquents, avec ordre alphabétique pour les mêmes fréquences: xxx p> au moins ... ordre le plus fréquent, utilisez ceci: xxx


0 commentaires