使用python查找字符串中最常见的char

0 python string

我编写了bellow函数来查找字符串中最常出现的char,它适用于:

  1. "你好,世界!"
  2. "你好吗?"
  3. "One"(如果字符串只有唯一字母,则返回第一个字母字符)

它在以下字符串"Lorem ipsum dolor sit amet"中失败.最常见的字母都有3次出现,它会产生一个空白字符串而不是给我一个(它应该按字母顺序给出第一个)

def frequent_char(text):

    charset = ''.join(sorted(text))

    maxcount = 0
    maxchar = None

    for item in charset.lower():
        charcount = text.count(item)

        if charcount > maxcount :
            maxcount = charcount
            maxchar = item

    return maxchar
Run Code Online (Sandbox Code Playgroud)

我没有在代码中犯的错误.有人可以帮忙吗?

小智 5

这个空间 has four occurences in Lorem ipsum dolor sit amet.

所以,如果你的问题是

查找字符串中最常出现的char

你的功能就像一个魅力.

编辑:

既然你在问题中同时使用'char'和'letter',那么你所询问的内容并不完全清楚.由于'char'比Python中的'letter'更容易理解,因此我决定将您的问题解释为关于字符的问题.

  • 让OP决定他对自己的快乐或不满.我不会猜到一个措辞严厉的问题的隐含意义. (4认同)
  • 它怎么没有帮助?""是一个角色,正在归还?程序正在按预期执行. (3认同)
  • 同意.但它并没有完全无益,它确实为OP提供了什么是"错误"以及如何改进它的知识. (2认同)