码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-11-02 18:08:34      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:两种   输入   src   通过   设定   字符串   span   turn   获得   

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

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

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

标签:两种   输入   src   通过   设定   字符串   span   turn   获得   

原文地址:https://www.cnblogs.com/jackyfive/p/11783105.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!