Python count()函數(shù)實(shí)例詳解
count() 是Python的內(nèi)置函數(shù),可以「統(tǒng)計(jì)」字符串里指定「字符」或指定字符串出現(xiàn)的「次數(shù)」。
語(yǔ)法
String.count( str, start, end )
參數(shù)
- str :(必選)指定字符或字符串
- start :(可選,整型)開(kāi)始的索引,默認(rèn)0
- end :(可選,整型)結(jié)束的索引,默認(rèn)最后一個(gè)位置
返回值
- int類型,返回出現(xiàn)的次數(shù)
實(shí)例:統(tǒng)計(jì)字符 ‘a’ 在字符串 ‘abcabcabc’ 中出現(xiàn)的次數(shù)
print('abcabcabc'.count('a'))輸出:
3
在字符串中搜索時(shí),搜索的內(nèi)容只能是「字符串類型」,否則會(huì)報(bào)錯(cuò) TypeError: must be str

1、指定搜索位置
start 和 end 參數(shù)可以設(shè)置搜索的「范圍」,含頭不含尾 [start, end)
start 參數(shù)必須是「整型」或「不設(shè)置」,默認(rèn)值是0end 參數(shù)必須是「整型」或「不設(shè)置」,默認(rèn)值是 len(string),字符串的長(zhǎng)度,也就是最后一個(gè)位置
count() 的參數(shù)不通過(guò)參數(shù)名來(lái)指定:
- 如果只給「一個(gè)參數(shù)」,就默認(rèn)賦值給str參數(shù)
- 如果只給「兩個(gè)參數(shù)」,就按順序賦值給str 和 start 參數(shù)
- 如果給了「三個(gè)參數(shù)」,就按順序賦值給str 、start、end參數(shù)
實(shí)例:從第3個(gè)字符開(kāi)始,搜索字符 ‘a’ 在字符串 ‘abcabcabc’ 中出現(xiàn)的次數(shù)
print('abcabcabc'.count('a', 3))輸出:
2
實(shí)例:在字符串的3~6位置,搜索字符 ‘a’ 在字符串 ‘abcabcabc’ 中出現(xiàn)的次數(shù)
print('abcabcabc'.count('a', 3, 6))輸出:
1
2、參數(shù)為負(fù)數(shù)
start 和 end 參數(shù)可以為「負(fù)數(shù)」,同樣含頭不含尾[-start, -end)
start 為負(fù)數(shù)時(shí),意思是從「右邊」第幾個(gè)位置「開(kāi)始」,這個(gè)位置不是索引,從1開(kāi)始計(jì)算。
print('aaabbbccc'.count('a', -6))
print('aaabbbccc'.count('a', -7))輸出:
01
end 為負(fù)數(shù)時(shí),意思是從「右邊」第幾個(gè)位置「結(jié)束」,同樣是從1開(kāi)始計(jì)算。
比如下面這個(gè)案例,設(shè)置范圍從右邊第6個(gè)開(kāi)始,到右邊第1個(gè)結(jié)束
print('aaabbbccc'.count('c', -6, -1))
輸出:
2
當(dāng)負(fù)數(shù)超過(guò)字符串的「長(zhǎng)度」時(shí),會(huì)從0開(kāi)始計(jì)算。
比如字符串只有8個(gè)字符,但start 參數(shù)的值為-10,count()就會(huì)讓它變得 “不生效”。
print('aaabbbccc'.count('c', -10))
print('aaabbbccc'.count('c'))輸出:
33
3、列表的count()
列表也有count() ,可以統(tǒng)計(jì)指定「元素」在列表中出現(xiàn)的「次數(shù)」,雖然函數(shù)名字一樣,但用法卻不同
語(yǔ)法
list.count( element )
參數(shù)
- element:需要統(tǒng)計(jì)的元素
返回值
- int類型,返回元素出現(xiàn)的次數(shù)
實(shí)例:統(tǒng)計(jì)元素 1 在列表中出現(xiàn)的次數(shù)
print([1, 2, 1, 2].count(1))
輸出:
2
4、元祖的count()
元組相當(dāng)于只讀列表,元組的 count() 和 列表的 count() 用法相同
語(yǔ)法
tuple.count( element )
參數(shù)
- element:需要統(tǒng)計(jì)的元素
返回值
- int類型,返回元素出現(xiàn)的次數(shù)
實(shí)例:統(tǒng)計(jì)元素 1 在元組中出現(xiàn)的次數(shù)
print((1, 2, 1, 2).count(1))
輸出:
2
5、其他數(shù)據(jù)類型的count()
不同數(shù)據(jù)類型的 count() 語(yǔ)法是不一樣的:
字符串、字節(jié)串、字節(jié)數(shù)組的count()可以指定開(kāi)始和結(jié)束的位置;列表、元組、等差數(shù)列的count()只能搜索指定的元素。
- 字符串:
string.count( str, start, end ) - 字節(jié)串:
bytes.count( str, start, end ) - 字節(jié)數(shù)組:
bytearray.count( str, start, end ) - 列表:
list.count( element ) - 元組:
tuple.count( element ) - 等差數(shù)列:
range.count( element )
6、布爾類型
布爾類型是特殊的,True可以匹配到1,F(xiàn)alse可以匹配到0,具體的可以參考以下案例:
print((True, False).count(True)) print((True, False).count(1)) print((True, False).count(0))
輸出:
1
1
1
到此這篇關(guān)于Python count()函數(shù)詳解的文章就介紹到這了,更多相關(guān)Python count()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 通過(guò)微信控制實(shí)現(xiàn)app定位發(fā)送到個(gè)人服務(wù)器再轉(zhuǎn)發(fā)微信服務(wù)器接收位置信息
這篇文章主要介紹了Python 通過(guò)微信控制實(shí)現(xiàn)app定位發(fā)送到個(gè)人服務(wù)器,再轉(zhuǎn)發(fā)微信服務(wù)器接收位置信息,本文給出了實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
使用pymysql查詢數(shù)據(jù)庫(kù),把結(jié)果保存為列表并獲取指定元素下標(biāo)實(shí)例
這篇文章主要介紹了使用pymysql查詢數(shù)據(jù)庫(kù),把結(jié)果保存為列表并獲取指定元素下標(biāo)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
Python實(shí)現(xiàn)刪除排序數(shù)組中重復(fù)項(xiàng)的兩種方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)刪除排序數(shù)組中重復(fù)項(xiàng)的兩種方法,涉及Python數(shù)組元素的遍歷、判斷、刪除等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
關(guān)于python中time和datetime的區(qū)別與用法
這篇文章主要介紹了關(guān)于python中time和datetime的區(qū)別與用法,Python中封裝了很多實(shí)用的函數(shù),那么關(guān)于時(shí)間的函數(shù)time和datetime有什么區(qū)別和作用,讓我們來(lái)看看吧2023-03-03
Python實(shí)現(xiàn)語(yǔ)音識(shí)別vosk的示例代碼
Vosk是一個(gè)功能強(qiáng)大且易于使用的語(yǔ)音識(shí)別工具包,它提供了Python綁定,使得在Python中使用Vosk變得非常方便,本文主要介紹了Python實(shí)現(xiàn)語(yǔ)音識(shí)別vosk的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12

