【发布时间】:2011-09-15 05:35:58
【问题描述】:
所以我有一个单词列表“wordList = list()。”现在,我正在使用此代码计算整个列表中每个单词中的每个字母
cnt = Counter()
for words in wordList:
for letters in words:
cnt[letters]+=1
但是,我希望它以不同的方式计算。我希望该函数从列表中的所有单词中找到最常见的字母,但只能通过计算每个单词的每个字母一次(忽略某些单词可以有同一个字母的多个副本的事实)。
例如,如果列表包含“happy, harpy and hasty”,则happy 中的两个p 应该只计算一次。所以该函数应该返回一个频率最高的字母列表(按顺序),而不需要重复计算。在上述情况下,它将是 'h, a, p, y, r, s"
【问题讨论】:
-
在您的示例中,y 是 3 个单词,但 p 仅在 2 个单词中,所以结果应该在 p 之前有 y。
标签: python algorithm collections dictionary