【发布时间】:2021-02-22 04:03:58
【问题描述】:
我正在尝试将一个句子放在一个列表中,然后按照单词在列表中出现的次数对列表进行排序,如果有必要,当 2 个单词出现相同的次数时,按字母顺序排列。我写了这段代码:
def frequencia(texto):
pals = texto.split()
m = sorted(pals,key=pals.count,reverse=True)
return m
问题是它重复单词并且不应用字母顺序。 在“我是个男人,我饿了”这句话上,输出应该是['am','I','a','guy','hungry']
【问题讨论】:
-
最简单的方法可能是排序两次,第一次按字母顺序,第二次按计数。 Python 排序是稳定的,因此一旦建立了顺序,该顺序将保留在键相等的任何后续排序中。