首页 > 解决方案 > count_substring 方法不返回所有子字符串的数量

问题描述

为我的语无伦次的问题道歉,我根本不知道如何更好地表达它。所以基本上我的任务是输出子字符串出现在字符串中的出现次数。例如。“CDC”将在“ABCDCDC”中出现两次,因此我创建的函数的正确输出将是整数 2。但是,我的代码如下:

def count_substring(string, sub_string):
    count = 0
    for i in range(len(string)):
        if string[i].startswith(sub_string):
            count += 1


    return count

的命令时似乎没有返回 2 的正确输出

print(count_substring("ABCDCDC", "CDC"))

给出。有人可以帮忙吗?

标签: python-3.x

解决方案


def count_substring(string, sub_string):
    count = sum(1 for i in range(len(string))  
         if string.startswith(sub_string, i))
    return count

这对我有用


推荐阅读