【发布时间】:2016-05-22 20:12:50
【问题描述】:
我需要一个函数来计算每个字母在字符串中出现的次数。它必须将大写和小写视为同一个字母。我有点做到了,但它并不完全漂亮。
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
所以是的,这就是我想出的灾难。有什么办法可以缩短这个过程?
【问题讨论】:
-
我喜欢你的最终变量的名称。这是一些相关阅读Count occurrence of a character in a string和Alphabet range python
-
可以使用 dict 并仅使用您找到的每个字母作为键,并使用该值来计算您看到的数量。然后将dict中的所有值相加。
标签: python python-2.7 python-2.x