python之统计字符串中字母出现次数dic=dict()
d={}
s=set()
s='helloworld'
(1)d=dict()
for x in s:
  if x not in d.keys():
  d[x]=1
else:
  d[x]=d[x]+1
print(d)
(2)d2=dict()
for x in s:
  d2[x]=d2.get(x,0)+1
print(d2)
(3)d3=dict()
  for x in s:
  d3[x]=s.count(x)
  print(d3)
上⾯⼀共给出了三种⽅法,均是以字典的形式输出,但可以看出,通过第⼆三种的内置函数⽅法更简便
def countchar(str):
str=str.lower()#化成⼩写
ans=[]
for i in range(26): #列表赋初值  26 个 0
ans.append(0)
for i in str:
if(ord(i)>=ord('a')and ord(i)<=ord('z')):
ans[ord(i)-ord('a')]=ans[ord(i)-ord('a')]+1  #统计个数
return ans
if__name__ == "__main__":
str = input()
print(countchar(str))
def countchar(st):                        #定义数个数的函数
keys = [chr(i+97) for i in range(26)] #⽣成26个字母的key列表
di = dict().fromkeys(keys,0)          #赋给每个key初始值0
new = []                  #建⽴⼀个新列表⽤于存放有序的key
st = st.lower()          #将所有输⼊的字符改为⼩写
for s in st:              #遍历字符串
di[s] = st.count(s) #输出每个字符的个数,存放到字典⾥
for k in keys:        #遍历keys,将其在di中的值添加到新列表,获得有序的26个字母的个数
new.append(di[k])
return new            #返回存有26个字母个数的列表
if__name__ == "__main__":
st = input()              #输⼊字符串
str1 = ""#定义⼀个空字符串
python中的字符串是什么
for s in st:              #遍历输⼊的字符串
if s.isalpha() != 0:  #只有字母才添加到新字符串,标点忽略不计
str1 += s
print(countchar(str1))    #输出列表
上⾯的两种⽅法也是输出字符串的字母出现次数,略有不同的是,这⾥它先设定了26个字母,并使其对应的初始值为0,然后统计字符串中的各字母出现次数,每个字母出现了多少次,即为其对应的初始值处的值。⽽没出现的字母,其对应的值则仍为初始值0
通过上述的⼏种⽅法,我们不难总结出解决这种问题的思路:从键盘随机输⼊⼀段字符串,然后循环遍历字符串,通过循环字符串中的每⼀个字符,统计各类字符出现的次数,循环遍历字符串

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。