1. 程式人生 > 程式設計 >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)

python統計字串中字母出現次數程式碼例項

上面一共給出了三種方法,均是以字典的形式輸出,但可以看出,通過第二三種的內建函式方法更簡便

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)# 輸出每個字元的個數, 存放到字典裡
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))# 輸出列表
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))# 輸出列表

python統計字串中字母出現次數程式碼例項

上面的兩種方法也是輸出字串的字母出現次數,略有不同的是,這裡它先設定了26個字母,並使其對應的初始值為0,然後統計字串中的各字母出現次數,每個字母出現了多少次,即為其對應的初始值處的值。而沒出現的字母,其對應的值則仍為初始值0

通過上述的幾種方法,我們不難總結出解決這種問題的思路:從鍵盤隨機輸入一段字串,然後迴圈遍歷字串,通過迴圈字串中的每一個字元,統計各類字元出現的次數,迴圈遍歷字串

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。