python - 如何从字母选择中返回字母表中最早的字母?

标签 python string python-3.x

我正在做一个练习,要求我返回一串字母中出现频率最高的字母。如果有两个字母以相同的频率出现,则以字母表中最先出现的字母为准。例如:

'aaaabbbb' #should return a.

我的退信代码如下。我承认它可能不是最有效的。我稍后会担心。

def mostWantedLetter(text):
    text = text.lower()
    mwl = {}
    for letter in text:
        if letter not in mwl:
            mwl[letter] = 1
        else:
            mwl[letter] += 1

    for letter in sorted(mwl, key = mwl.get, reverse = True):
        if letter.isalpha():
            #letter = sorted(list(letter))
            return letter      #[0]

感谢 Stack Overflow 社区帮助我走到这一步!

最佳答案

恭喜你到目前为止。我将提供两个提示:

提示 1:将 key 参数修改为 sorted() 以考虑字母的计数及其在字母表中的位置。

提示 2:研究 Python 如何比较元组。

在单独的注释中,collections.Countercollections.defaultdict值得了解。

关于python - 如何从字母选择中返回字母表中最早的字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22310292/

相关文章:

python-3.x - Python Bokeh 文件输入小部件

python - 如何在阅读后删除kafka消息

python - 构建一个简单的解析器,能够使用 PyParse 解析不同的日期格式

Python:如何将字符串 'ub' 添加到字符串中每个发音的元音前?

python - Python 3 无法登录 steam

python - 在 Matplotlib 中绘制两点之间的简单直线

python - rbenv 和 MacPorts 的路径位置

python - 如何在滚动窗口中应用 Python 中的赫斯特指数

python - 将文本列表格式化为列

string - 想要删除Lua中括号内的字符串之间的空格