首頁  >  文章  >  後端開發  >  如何用python統計字串中字母個數?

如何用python統計字串中字母個數?

coldplay.xixi
coldplay.xixi原創
2020-06-09 15:17:5814947瀏覽

如何用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(&#39;a&#39;)and ord(i)<=ord(&#39;z&#39;)):
            ans[ord(i)-ord(&#39;a&#39;)]=ans[ord(i)-ord(&#39;a&#39;)]+1  #统计个数
    return ansif __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影片教學

以上是如何用python統計字串中字母個數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn