【发布时间】:2019-06-02 09:23:58
【问题描述】:
我想按单词中出现频率的降序对字母进行排序。但是,如果两个字母频率相同,则应选择按字母顺序排列的前一个字母。
我使用 Counter 来查找所有字母的频率,它会返回一个字典。如何按频率降序对它们进行排序,然后按字母顺序选择频率最高的 n 个字母
string='ddddaacccbb'
n=3
from collections import Counter
counter=Counter(string)
假设如果单词是'ddddaacccbb'并且n是3,那么它应该打印['a','c','d'],这里n是字母的数量。输出基于每个字母的最高频率,如果两个字母的频率相似,则选择按字母顺序排列的前一个。
【问题讨论】:
-
那么
n是干什么用的? -
这些词是“字母”,而不是“字母”。
-
如果按最高频率排序,不应该是
['d', 'c', 'a', 'b']或['d', 'c', 'b', 'a]吗?
标签: python sorting dictionary