2024-10-05 14:26:23 发布
网友
我需要在像ACACA这样的字符串中找到“ACA”这样的子字符串的计数。我尝试了count(str)方法,但它只给了我1而不是2。如何在python中找到这些字符串的实际出现次数?在
count(str)
countmethod of strings的文档说明:
count
Return the number of non-overlapping occurrences of substring sub in the range [start, end].
您的子字符串重叠了,这就是count方法没有按您的要求操作的原因。您可以使用find方法的可选参数从字符串开头以外的其他位置开始查找计数:
find
string = 'ACACA' substr = 'ACA' substr_count = 0 start = 0 while True: loc = string.find(substr, start) if loc == -1: break substr_count += 1 start = loc + 1
此例程的循环计数与子字符串在字符串中的出现次数相同。您可以使用一个更简单的例程来检查字符串的每个位置,以查看子字符串是否位于该位置,但这会占用更多的循环,并且速度会慢一些。在
count
method of strings的文档说明:您的子字符串重叠了,这就是
count
方法没有按您的要求操作的原因。您可以使用find
方法的可选参数从字符串开头以外的其他位置开始查找计数:此例程的循环计数与子字符串在字符串中的出现次数相同。您可以使用一个更简单的例程来检查字符串的每个位置,以查看子字符串是否位于该位置,但这会占用更多的循环,并且速度会慢一些。在
相关问题 更多 >
编程相关推荐