python教程 統計字串中字母出現次數

2021-10-11 19:01:51 字數 2282 閱讀 6348

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

'''

'''def

countchar

(str):

str=

str.lower(

)#化成小寫

ans=

for i in

range(26

):#列表賦初值 26 個 00)

for i in

str:if(

ord(i)

>=

ord(

'a')

andord

(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個字母的個數

)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

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

好文要頂 關注我 收藏該文

5 6字串的統計字串

題目 給定乙個字串str,返回str的統計字串。補充題目 給定乙個字串的統計字串cstr,再給定乙個整數index,返回cstr所代表的原始字串上的第index個字元。實現public class getcountstring string res string.valueof str.charat...

1227 字串統計

1227 字串統計 description 對於給定的乙個字串,統計其中數字字元出現的次數。input 輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後面跟著n行,每行包括乙個由字母和數字組成的字串。output 對於每個測試例項,輸出該字串中數值的個數,每個輸出佔一行。sample in...

66 字串統計

66 字串統計 問題描述 明明最近在做乙個有關字串的統計工作。兩個由小寫字母組成的字串s1和s2,明明需要統計出以下四種關係 1 在s1或s2中存在的字母 包括在s1和s2中都存在的字母 2 在s1中且在s2中的字母 3 在s1中但不在s2中的字母,在s2中但不在s1中的字母 4 不在s1中且也不在...