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 p> 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. P> p>
4 Réponses :
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']
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
Vous pouvez utiliser trié code> et récupérer une tranche de compteur:
Utilisez le la plupart_common () code> méthode des compteurs. ['a', 'c', 'd']
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: p>
Alors qu'est-ce que
n code> 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'] code> ou['d', 'c', 'B', 'a] code>?