python統(tǒng)計(jì)字符串中字母出現(xiàn)次數(shù)代碼實(shí)例
代碼如下
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)

上面一共給出了三種方法,均是以字典的形式輸出,但可以看出,通過(guò)第二三種的內(nèi)置函數(shù)方法更簡(jiǎn)便
def countchar(str):
str = str.lower()# 化成小寫
ans = []
for i in range(26): #列表賦初值 26 個(gè) 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# 統(tǒng)計(jì)個(gè)數(shù)
return ans
if __name__ == "__main__":
str = input()
print(countchar(str))
def countchar(st): #定義數(shù)個(gè)數(shù)的函數(shù)
keys = [chr(i + 97) for i in range(26)]# 生成26個(gè)字母的key列表
di = dict().fromkeys(keys, 0)# 賦給每個(gè)key初始值0
new = []# 建立一個(gè)新列表用于存放有序的key
st = st.lower()# 將所有輸入的字符改為小寫
for s in st: #遍歷字符串
di[s] = st.count(s)# 輸出每個(gè)字符的個(gè)數(shù), 存放到字典里
def countchar(str):
str = str.lower()# 化成小寫
ans = []
for i in range(26): #列表賦初值 26 個(gè) 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# 統(tǒng)計(jì)個(gè)數(shù)
return ans
if __name__ == "__main__":
str = input()
print(countchar(str))
def countchar(st): #定義數(shù)個(gè)數(shù)的函數(shù)
keys = [chr(i + 97) for i in range(26)]# 生成26個(gè)字母的key列表
di = dict().fromkeys(keys, 0)# 賦給每個(gè)key初始值0
new = []# 建立一個(gè)新列表用于存放有序的key
st = st.lower()# 將所有輸入的字符改為小寫
for s in st: #遍歷字符串
di[s] = st.count(s)# 輸出每個(gè)字符的個(gè)數(shù), 存放到字典里
for k in keys: #遍歷keys, 將其在di中的值添加到新列表, 獲得有序的26個(gè)字母的個(gè)數(shù)
new.append(di[k])
return new# 返回存有26個(gè)字母?jìng)€(gè)數(shù)的列表
if __name__ == "__main__":
st = input()# 輸入字符串
str1 = ""#定義一個(gè)空字符串
for s in st: #遍歷輸入的字符串
if s.isalpha() != 0: #只有字母才添加到新字符串, 標(biāo)點(diǎn)忽略不計(jì)
str1 += s
print(countchar(str1))# 輸出列表
for k in keys: #遍歷keys, 將其在di中的值添加到新列表, 獲得有序的26個(gè)字母的個(gè)數(shù)
new.append(di[k])
return new# 返回存有26個(gè)字母?jìng)€(gè)數(shù)的列表
if __name__ == "__main__":
st = input()# 輸入字符串
str1 = ""#定義一個(gè)空字符串
for s in st: #遍歷輸入的字符串
if s.isalpha() != 0: #只有字母才添加到新字符串, 標(biāo)點(diǎn)忽略不計(jì)
str1 += s
print(countchar(str1))# 輸出列表

上面的兩種方法也是輸出字符串的字母出現(xiàn)次數(shù),略有不同的是,這里它先設(shè)定了26個(gè)字母,并使其對(duì)應(yīng)的初始值為0,然后統(tǒng)計(jì)字符串中的各字母出現(xiàn)次數(shù),每個(gè)字母出現(xiàn)了多少次,即為其對(duì)應(yīng)的初始值處的值。而沒(méi)出現(xiàn)的字母,其對(duì)應(yīng)的值則仍為初始值0
通過(guò)上述的幾種方法,我們不難總結(jié)出解決這種問(wèn)題的思路:從鍵盤隨機(jī)輸入一段字符串,然后循環(huán)遍歷字符串,通過(guò)循環(huán)字符串中的每一個(gè)字符,統(tǒng)計(jì)各類字符出現(xiàn)的次數(shù),循環(huán)遍歷字符串
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
tensorflow構(gòu)建BP神經(jīng)網(wǎng)絡(luò)的方法
這篇文章主要為大家詳細(xì)介紹了tensorflow構(gòu)建BP神經(jīng)網(wǎng)絡(luò)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問(wèn)題
這篇文章主要介紹了Python爬蟲基于lxml解決數(shù)據(jù)編碼亂碼問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Python lambda 匿名函數(shù)優(yōu)點(diǎn)和局限性深度總結(jié)
這篇文章主要為大家介紹了Python lambda 匿名函數(shù)的優(yōu)點(diǎn)和局限性深度總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Python中很常用的函數(shù)map()用法實(shí)例
這篇文章主要給大家介紹了關(guān)于Python中很常用的函數(shù)map()用法的相關(guān)資料,map()函數(shù)是Python的內(nèi)置函數(shù),會(huì)根據(jù)提供的函數(shù)參數(shù),對(duì)傳入的序列數(shù)據(jù)進(jìn)行映射,需要的朋友可以參考下2023-10-10
Python并發(fā)爬蟲常用實(shí)現(xiàn)方法解析
這篇文章主要介紹了Python并發(fā)爬蟲常用實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
利用python實(shí)現(xiàn)詞頻統(tǒng)計(jì)分析的代碼示例
詞頻統(tǒng)計(jì)是指在文本或語(yǔ)音數(shù)據(jù)中,統(tǒng)計(jì)每個(gè)單詞或符號(hào)出現(xiàn)的次數(shù),以便對(duì)文本或語(yǔ)音數(shù)據(jù)進(jìn),這篇文章將詳細(xì)介紹分詞后如何進(jìn)行詞頻統(tǒng)計(jì)分析2023-06-06
Pycharm沒(méi)有報(bào)錯(cuò)提示(誤觸ignore)的完美解決方案
這篇文章主要介紹了Pycharm沒(méi)有報(bào)錯(cuò)提示(誤觸ignore)的解決方案,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12

