您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页python之统计字符串中字母出现次数

python之统计字符串中字母出现次数

来源:筏尚旅游网
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 = \"\" #定义⼀个空字符串 for s in st: #遍历输⼊的字符串

if s.isalpha() != 0: #只有字母才添加到新字符串,标点忽略不计

str1 += s

print(countchar(str1)) #输出列表

上⾯的两种⽅法也是输出字符串的字母出现次数,略有不同的是,这⾥它先设定了26个字母,并使其对应的初始值为0,然后统计字符串中的各字母出现次数,每个字母出现了多少次,即为其对应的初始值处的值。⽽没出现的字母,其对应的值则仍为初始值0

通过上述的⼏种⽅法,我们不难总结出解决这种问题的思路:从键盘随机输⼊⼀段字符串,然后循环遍历字符串,通过循环字符串中的每⼀个字符,统计各类字符出现的次数,循环遍历字符串

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务