Skip to main content
 首页 » 编程设计

python之计算每个字母在文本样本中出现的次数

2025年05月04日14langtianya

我需要一个函数来计算每个字母在字符串中出现的次数。它必须将大写字母和小写字母视为同一个字母。我有点做到了,但它并不十分漂亮。

def lmao(x): 
 
    aye=x.count("a") 
    Aye=x.count("A") 
    bye=x.count("b") 
    Bye=x.count("B") 
    cye=x.count("c") 
    Cye=x.count("C") 
    dye=x.count("d") 
    Dye=x.count("D") 
    Eye=x.count("E") 
    eye=x.count("e") 
    Fye=x.count("F") 
    fye=x.count("f") 
    Gye=x.count("G") 
    gye=x.count("g") 
    Hye=x.count("H") 
    hye=x.count("h") 
    Iye=x.count("I") 
    iye=x.count("i") 
    Jye=x.count("J") 
    jye=x.count("j") 
    Kye=x.count("K") 
    kye=x.count("k") 
    Lye=x.count("L") 
    lye=x.count("l") 
    Mye=x.count("M") 
    mye=x.count("m") 
    Nye=x.count("N") 
    nye=x.count("n") 
    Oye=x.count("O") 
    oye=x.count("o") 
    Pye=x.count("P") 
    pye=x.count("P") 
    Qye=x.count("Q") 
    qye=x.count("q") 
    rye=x.count("r") 
    Rye=x.count("R") 
    sye=x.count("s") 
    Sye=x.count("S") 
    tye=x.count("t") 
    Tye=x.count("T") 
    uye=x.count("u") 
    Uye=x.count("U") 
    Vye=x.count("V") 
    vye=x.count("v") 
    Wye=x.count("W") 
    wye=x.count("w") 
    Xye=x.count("X") 
    xye=x.count("x") 
    Yye=x.count("Y") 
    yye=x.count("y") 
    Zye=x.count("Z") 
    zye=x.count("z") 
    killme=(aye+Aye,bye+Bye,cye+Cye,Dye+dye,Eye+eye,Fye+fye,Gye+gye,Hye+hye,Iye+iye,jye+Jye,Kye+kye,Lye+lye,Mye+mye,Nye+nye,Oye+oye,Pye+pye,Qye+qye,rye+Rye,sye+Sye,Tye+tye,uye+Uye,Vye+vye,Wye+wye,xye+Xye,Yye+yye,Zye+zye) 
    return killme 

是的,这就是我想出的灾难。有什么办法可以缩短这个过程吗?

请您参考如下方法:

使用collections.Counter https://docs.python.org/2/library/collections.html#counter-objects

from collections import Counter     
counter = Counter(mystr.lower()) 

将为您提供每个字母的所有出现,忽略大小写