赞
踩
「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》
count() 是Python的内置函数,可以「统计」字符串里指定「字符」或指定字符串出现的「次数」。
语法
String.count( str, start, end )
参数
返回值
实例:统计字符 ‘a’ 在字符串 ‘abcabcabc’ 中出现的次数
print('abcabcabc'.count('a'))
输出:
3
在字符串中搜索时,搜索的内容只能是「字符串类型」,否则会报错 TypeError: must be str
start 和 end 参数可以设置搜索的「范围」,含头不含尾 [start, end)
start 参数必须是「整型」或「不设置」,默认值是0
end 参数必须是「整型」或「不设置」,默认值是 len(string),字符串的长度,也就是最后一个位置
count() 的参数不通过参数名来指定:
实例:从第3个字符开始,搜索字符 ‘a’ 在字符串 ‘abcabcabc’ 中出现的次数
print('abcabcabc'.count('a', 3))
输出:
2
实例:在字符串的3~6位置,搜索字符 ‘a’ 在字符串 ‘abcabcabc’ 中出现的次数
print('abcabcabc'.count('a', 3, 6))
输出:
1
start 和 end 参数可以为「负数」,同样含头不含尾[-start, -end)
start 为负数时,意思是从「右边」第几个位置「开始」,这个位置不是索引,从1开始计算。
print('aaabbbccc'.count('a', -6))
print('aaabbbccc'.count('a', -7))
输出:
0
1
end 为负数时,意思是从「右边」第几个位置「结束」,同样是从1开始计算。
比如下面这个案例,设置范围从右边第6个开始,到右边第1个结束
print('aaabbbccc'.count('c', -6, -1))
输出:
2
当负数超过字符串的「长度」时,会从0开始计算。
比如字符串只有8个字符,但start 参数的值为-10,count()就会让它变得 “不生效”。
print('aaabbbccc'.count('c', -10))
print('aaabbbccc'.count('c'))
输出:
3
3
列表也有count() ,可以统计指定「元素」在列表中出现的「次数」,虽然函数名字一样,但用法却不同
语法
list.count( element )
参数
返回值
实例:统计元素 1 在列表中出现的次数
print([1, 2, 1, 2].count(1))
输出:
2
元组相当于只读列表,元组的 count() 和 列表的 count() 用法相同
语法
tuple.count( element )
参数
返回值
实例:统计元素 1 在元组中出现的次数
print((1, 2, 1, 2).count(1))
输出:
2
不同数据类型的 count() 语法是不一样的:
字符串、字节串、字节数组的count()可以指定开始和结束的位置;
列表、元组、等差数列的count()只能搜索指定的元素。
string.count( str, start, end )
bytes.count( str, start, end )
bytearray.count( str, start, end )
list.count( element )
tuple.count( element )
range.count( element )
布尔类型是特殊的,True可以匹配到1,False可以匹配到0,具体的可以参考以下案例:
print((True, False).count(True))
print((True, False).count(1))
print((True, False).count(0))
输出:
1
1
1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。