当前位置: 首页 > 知识库问答 >
问题:

在Python中使用count()计算子字符串的数量

翁宜年
2023-03-14

这是我的字符串'caaasb'。 我知道子字符串'aa'出现的次数是两次:

  1. “caaasb”

但是当我用Python编写下面的代码时,它返回一个值1

'caaasb'.count('aa')
> 1

我的理解错在哪里?

共有3个答案

王宏扬
2023-03-14

列表理解的方式:

def custom_count(s, sub):
    return len([i for i in range(len(s) - len(sub) + 1) if s[i:i + len(sub)] == sub])

print(custom_count('caaasb', 'aa'))

函数中的列表包含子字符串的所有索引。len将返回计数。

锺英卫
2023-03-14

下面是一个在没有re的情况下实现的解决方案:

def get_overlapping_count(string: str, sub_string: str) -> int:
    count = 0
    start_index = 0

    while True:
        start_index = string.find(sub_string, start_index) + 1

        if start_index <= 0:
            return count

        count += 1

get_overlaping_count(“caaasb”,“aa”)返回2

林蕴藉
2023-03-14

您可以在此处使用re.findall技巧:

inp = "caaasb"
num_matches = len(re.findall(r'a(?=a)', inp))
print "There were " + str(num_matches) + " aa matches in the input"

这将打印:

There were 2 aa matches in the input

上面使用的技巧是通过在每次匹配中只实际消耗第一个aa来匹配aa。 每次匹配中的第二个a使用正向前瞻断言。 这就绕开了消耗/重复计算的问题。

 类似资料:
  • 问题内容: 如何计算给定子字符串在Python字符串中出现的次数? 例如: 问题答案: , 像:

  • 本文向大家介绍使用MySQL计算字符串中的字符数,包括了使用MySQL计算字符串中的字符数的使用技巧和注意事项,需要的朋友参考一下 今天,我需要从一个表中获取一些数据,该表中另一个字符串中不止一个字符串出现。基本上,我需要从一个表中查找所有深度超过3级(即带有3个斜杠)的URL,但是意识到在MySQL中没有函数可以执行此操作。我找到了另一种方法,但它使我思考如何可能。 找到解决方案并不是很困难,我

  • count 方法用于检索指定字符串在另一字符串中出现的次数,如果检索的字符串不存在,则返回 0,否则返回出现的次数。 count 方法的语法格式如下: str.count(sub[,start[,end]]) 此方法中,各参数的具体含义如下: str:表示原字符串; sub:表示要检索的字符串; start:指定检索的起始位置,也就是从什么位置开始检测。如果不指定,默认从头开始检索; end:指定

  • 本文向大家介绍python字符串,数值计算,包括了python字符串,数值计算的使用技巧和注意事项,需要的朋友参考一下 Python是一种面向对象的语言,但它不像C++一样把标准类都封装到库中,而是进行了进一步的封装,语言本身就集成一些类和函数,比如print,list,dict etc. 给编程带来很大的便捷 Python 使用#进行单行注释,使用 ''' 或 """ 进行多行注释 数值计算 字

  • 本文向大家介绍计算字符串中子串出现的次数。相关面试题,主要包含被问及计算字符串中子串出现的次数。时的应答技巧和注意事项,需要的朋友参考一下 【参考答案】

  • 我对手动输入的字符串计数有点困惑。我基本上是在计算单词的数量和没有空格的字符的数量。如果可能的话,谁能帮助计算元音? 到目前为止,我只有这些:

  • 问题内容: 计算字符串中字符出现次数的最简单方法是什么? 例如,计算出现在其中的次数 问题答案: 返回sub范围中的子字符串不重叠的次数。可选参数并以片表示法解释。

  • 本文向大家介绍计算Python中字符串中字符的出现次数,包括了计算Python中字符串中字符的出现次数的使用技巧和注意事项,需要的朋友参考一下 给我们一个字符串和一个字符。我们想找出给定字符在给定字符串中重复多少次。 随着范围和镜头 我们设计了一个for循环,以使该字符与字符串中存在的每个可通过索引访问的字符匹配。range和len函数可帮助我们确定从字符串的左移到右移时必须进行多少次匹配。 示例