Python str count方法

描述

Python count函数是Python的字符串函数。用于统计字符串中某字符出现的次数。

语法和参数

string.count(sub_string, start, end)
名称备注说明
string待统计的字符串
sub_string希望检测的字符串。即希望检测出sub_string在string中出现的次数不可省略的字符串参数
startstring字符串开始搜索的位置整型数字,可省略
endstring字符串结束搜索的位置整型数字,可省略

举例

1. 最简单的应用----只有一个参数

count函数最简单也最常见的应用场景就是仅仅有sub_string参数。

>>> "MacBook Pro".count("o")
3

2. 指定起始位置

可以不使用字符串分片,直接在count函数内指定检索字符串的起始位置,返回sub_string在string中出现的次数。

在下面的例子中,从字符串“MacBook Pro”中的第五个字符(“o”)开始到结束位置寻找字符“o”出现的次数。

>>> "MacBook Pro".count("o", 5)
2

3. 指定起始和末尾位置

可以同时指定string的起始和末尾位置,在规定的范围内查询参数出现的次数。

如下所示,虽然字符串"MacBook Pro"中含有字母o,但是字符串第6个位置到第9个位置前没有字符o,因此函数返回0.

>>> "MacBook Pro".count("o", 6, 9)
0

注意事项

1. 参数可以是任意长度的字符串

>>> "Do not obsess over the way of life's problems.".count("e wa")
1

2. 末尾位置越界

当end参数超过了string字符串的实际长度,count函数默认end为string的结束位置,不会抛出任何异常。

    如下图所示,字符串"MacBook Pro"最后一个位置参数理应是11,但是当end参数超过11时(例如本例中的35),count会默认end值为11,并不会抛出异常。

>>> "MacBook Pro".count("oo", 3, 35)
1
>>> "MacBook Pro".count("oo", 3, 11)
1

3. 末尾位置临界值

末尾位置end值在字符串string中并不包括数值指向的字符,因此字符串被检索的范围区间是[start, end)。如下面的例子所示:

    虽然字符串"aaab"的第三个字符是b,且end值也为3,但是字符串的检索区间是0 ~ 2("aaa"),不包含字符串"b",因此count函数返回0

>>> "aaab".count("b", 0, 3)
0
>>> "aaab".count("b", 0, 4)
1

4. 位置参数为负

    位置参数start、end可以为负数。当它们为负数时,表示字符串倒数的位置。例如start = -2表示字符串倒数第二个字符。end字符为负同理。

>>> 'qin han tang'.count('n', -2)  #从倒数第二个字符开始检索字符n的个数
1
>>> 'qin han tang'.count('n', -6, -2) #从倒数第6个字符至倒数第二个字符前检索字符n的个数
1

5. 位置错乱

位置错乱是指start的实际位置在end的实际位置之后。在这种情况下,count函数不会抛出异常,但是返回值为0.

>>> 'qin han tang'.count('n', 3, 1)
0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值