python 統(tǒng)計字符串中字符的個數(shù)
1.遍歷計數(shù)
遍歷字符串的每個字符,遍歷的時候加入判斷是否為字母的條件 isalpha,如果結(jié)果為 True 則計數(shù)器加1,否則進入下一個循環(huán)。
str_= "32Ss8nWn012"
str_count = 0
# 字符串本身就是迭代器
for s in str_:
if s.isalpha():
str_count += 1
# 輸出計數(shù)器
print(str_count)
5
2.匹配字母
2.1 字母表計數(shù)
用string 模塊中的 ascii_lowercase 屬性,遍歷字母表,看看每個字母在我們的字符串中的數(shù)量,求和即可。然后還要注意:我們原始給定的字符串沒有規(guī)定大小寫,所以我們需要對原始字符串統(tǒng)一轉(zhuǎn)換成小寫字母(或者大寫字母)。文章來源:http://www.zghlxwxcb.cn/news/detail-515605.html
import string
str_ = "32Ss8nWn012"
str_count = 0
str_ = str_.lower()
# 遍歷ascii碼中的小寫英文字母
for i in string.ascii_lowercase:
# 內(nèi)置函數(shù)count效率高
str_count += str_.count(i)
print(str_count)
5
2.2 字母表計數(shù)
這個方法與上一個方法都是匹配字母表,只不過這里用的是正則表達。文章來源地址http://www.zghlxwxcb.cn/news/detail-515605.html
import re
str_ = "32Ss8nWn012"
# [a-zA-Z]是匹配內(nèi)容,str_是待匹配的對象
str_ = re.findall('[a-zA-Z]',str_)
print(len(str_))
5
3.統(tǒng)計每個字符的個數(shù)
alist=['l','am','a','student']
#先將列表轉(zhuǎn)化為字符串
str=""
for i in alist:
str+=i
#統(tǒng)計無重復的字符
list=set(str)
print(list)
#利用count統(tǒng)計
li=[]
for j in list:
num=str.count(j)
#print(j)
print(num)
li.append(num)
print(li)
#讓元素的個數(shù)與元素一一對應(yīng)
log3 = dict(zip(list,li))
print(log3)
{'e', 'u', 's', 'l', 'm', 'd', 'n', 't', 'a'}
1
1
1
1
1
1
1
2
2
[1, 1, 1, 1, 1, 1, 1, 2, 2]
{'e': 1, 'u': 1, 's': 1, 'l': 1, 'm': 1, 'd': 1, 'n': 1, 't': 2, 'a': 2}
到了這里,關(guān)于python 統(tǒng)計字符串中字符的個數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!